[SP-pm] Dúvida sobre como "jogar" um array dentro de um hash.

"Flávio R. Lopes" flavio.lopes at links.inf.br
Wed Jul 21 17:52:34 PDT 2010


Humm....

Obrigado pessoal!

Em 21-07-2010 21:41, Giuliani Sanches escreveu:
> Flávio,
>
> Hash não permite a duplicação de chaves. Ao adicionar o primeiro 6,
> ele simplesmente vai sobrescrevendo o conteúdo e como todos são 6,
> você tem o resultado obtido.
>
> []'s
>
> Em 21 de julho de 2010 21:31, "Flávio R. Lopes"
> <flavio.lopes em links.inf.br>  escreveu:
>    
>> Olá pessoal.
>>
>> Num dos exercícios que estou fazendo, uma das soluções (pelo menos que estou
>> imaginando) seria colocar o conteúdo de um array dentro de um hash, mas
>> quando os elementos são repetidos, só insere a primeira instância do
>> elemento.
>>
>> Supondo um array com os elements:
>>
>> my  @numeros = (1, 2, 3, 4, 5, 6, 6, 6, 5);
>>
>> my  %hash = map { $_ =>  $_ } @numeros;
>>
>>   while ( my ($chave, $valor) = each %hash ) {
>>
>>         say "$chave =>  $valor";
>>
>>   }
>>
>>
>> Tenho como saída:
>> 6 =>  6
>> 4 =>  4
>> 1 =>  1
>> 3 =>  3
>> 2 =>  2
>> 5 =>  5
>>
>>
>> Porque os outros dois elementos "6" e o último elemento "5" não são
>> armazenados dentro do hash?
>> Gostaria que produzisse a seguinte saída (como todos os 9 elementos do
>> array):
>>
>> 6 =>  6
>> 6 =>  6
>> 6 =>  6
>> 4 =>  4
>> 1 =>  1
>> 3 =>  3
>> 2 =>  2
>> 5 =>  5
>> 5 =>  5
>>
>> Onde estou errando?
>>
>> Abraço,
>> Flávio
>>
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>      
>
>
>    



More information about the SaoPaulo-pm mailing list