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

Giuliani Sanches giulianisanches at gmail.com
Wed Jul 21 17:41:43 PDT 2010


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 at 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 at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Giuliani Sanches
twitter.com/giulianisanches
giulianisanches.blogspot.com

Como elaborar uma pergunta:
http://www.istf.com.br/perguntas/


More information about the SaoPaulo-pm mailing list