shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Vetores associativos


From: Fernando Mercês
Subject: Re: [shell-script] Vetores associativos
Date: Fri, 2 Mar 2012 18:48:08 -0300

Minha mensagem anterior parece inútil porque esqueci de dar meu pitaco:
acho que esta ordenação não fica a cargo do bash em si, mas da execução e
do ambiente. Mas é só achismo por enquanto.

Abraços.

Att,

Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade
de mudança é preciso mudar". (Elliot Gould)


2012/3/2 Fernando Mercês <address@hidden>

> Eu tenho que estar no boteco às 19h mas estou aqui, lendo o fonte do bash
> por sua culpa!
>
> Pois é, eu vi no fonte (apt-get source bash) do bash 4.2 que a
> implementação dos arrays associativos é usando uma hash table mas não
> consegui responder ainda sua pergunta quanto à ordenação. Na verdade a
> inserção parece normal, sem ordenar, com xmalloc(). Já a listagem eu não
> identifiquei ainda qual função faz, mas creio que seja hash_walk
> (hashlib.c:325), mas agora é hora de ir pro buteco. =D
>
> Se ninguém responder a gente pode continuar, mas há de concordar que não
> vai servir para nada descobrir isso, do ponto de vista de programação com o
> bash. :)
>
> Abraço
>
> Att,
>
> Fernando Mercês
> Linux Registered User #432779
> www.mentebinaria.com.br
> ------------------------------------
> "Ninguém pode ser escravo de sua identidade; quando surge uma
> possibilidade de mudança é preciso mudar". (Elliot Gould)
>
>
>
> 2012/3/2 Valtoir <address@hidden>
>
>> **
>>
>>
>> O problema de ser autodidata é que o professor nunca dá folga pra gente.
>>
>> O Rodrigo Boechat citou o link
>>
>>
>> http://www.dicas-l.com.br/cantinhodoshell/cantinhodoshell_20100120.php#.T0lbjl-oOCg
>>
>> de um artigo escrito pelo Júlio sobre vetores associativos. Fiquei
>> curioso, fiz uns testes iniciais e um pequeno script de agenda telefônica
>> tentando fazer uso desse recurso. Depois de apanhar bastante, cheguei a
>> alguns resultados malucos. Relendo o artigo com mais atenção, percebi o
>> seguinte
>>
>> (citação):
>> ---------------------------
>> Exemplos:
>>
>> $ declare -A Animais # Obrigatório para vetor associativo
>> $ Animais[cavalo]=doméstico
>> $ Animais[zebra]=selvagem
>> $ Animais[gato]=doméstico
>> $ Animais[tigre]=selvagem
>>
>> $ echo ${!Animais[@]}
>> gato zebra cavalo tigre
>>
>> Repare que os valores não são ordenados, ficam armazenados na ordem que
>> são
>> criados, diferentemente dos vetores inteiros que ficam em ordem numérica.
>> ---------------------------
>>
>> Agora a pergunta: Se os valores são ordenados na ordem em que são criados,
>> porque o resultado de "echo ${!Animais[@]}" não é
>>
>> cavalo zebra gato tigre
>> ao invés de
>> gato zebra cavalo tigre?
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>  
>>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]