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

Pinguim Azul bluepenguin at gmail.com
Wed Jul 21 17:38:32 PDT 2010


Eu sou novato em Perl, mas eu imagino que um hash não pode ter chaves
repetidas. Se você adicionar pela segunda vez, ele sobrescreve a
anterior.

2010/7/21 "Flávio R. Lopes" <flavio.lopes at links.inf.br>:
> 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 at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Ricardo Bittencourt
http://www.ricbit.com


More information about the SaoPaulo-pm mailing list