[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Funcionalidade
- Subject: Funcionalidade
- From: Giuliano Mega <megag@terra.com.br>
- Date: Wed, 18 Apr 2001 15:37:26 -0300
> Giuliano, obrigado pela resposta.
> Resumindo, se é q eu entendi:
>
> -n
> torna os caracteres (após o n) nulos (nao serao lidos)
>
> -a
> "seta" os valores ord de cada caracter assim como a sequencia dos
> mesmos, certo?
> Mas pra que exatamente?
> -d
> dá um valor de inicio para ord. (Também nao vi vantagem!)
>
> Essas últimas duas opções sao para ordenar a lista de palavras a serem
> impressas ao final do meu programa?
>
> CESAR
Bom, César, você pode, de repente, resolver que as "palavras" que
começam com números devem vir depois das que começam com letras. Neste
caso particular, é só associar um valor "ord" menor para as letras ou
maior para os números.
Como a comparação dos caracteres das strings está intimamente
relacionada com os valores "ord", o programa fará com que as sequências
que começam com números venham depois (pois têm maior ord) do que as que
começam com letras. Dessa forma o programa é capaz de suprir suas
necessidades sejam elas quais forem. Vale notar que o -d deve ser usado
junto com o -a - os valores "ord" só podem ser incrementados em passos
iguais para todos os caracteres da string especificada.
Por exemplo: -a0123456789 -d20 aumenta o ord de todos os caracteres
da
string "0123456789" em 20.
É possível argumentar que um nível de controle sobre os ords que
fosse
um pouco maior aumentaria a funcionalidade do programa, mas dificilmente
você precisará mudar o ord de caracteres individuais em incrementos (ou
decrementos) diferentes. Além disso, esse nível de controle menor evita
que o usuário pratique incoerências como desmontar completamente a ordem
alfabética.
O último ponto merecedor de atenção: tome cuidado com essas opções.
Como o próprio Knuth diz, "se o dicionário contém palavras fora de
ordem,
digamos A > B onde A vem depois de B no arquivo, o efeito será como se B
não estivesse presente"; ou seja, bagunce os ords e você terá que
bagunçar
o dicionário junto, caso contrário vão ter palavras sumindo do seu
dicionário.
Espero ter ajudado,
[]´s
Giuliano