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

Thiago Glauco Sanchez thiagoglauco at ticursos.net
Wed Jul 21 21:00:56 PDT 2010


Em 21/07/2010 23:34, Thiago Glauco Sanchez escreveu:
> Em 21/07/2010 23:22, "Flávio R. Lopes" escreveu:
>> De jeito nenhum! :p
> Então... o exercício é???
>>
>> Em 21-07-2010 23:17, Thiago Glauco Sanchez escreveu:
>>> Eu peco se perguntar qual é o exercício?
>>>
>>> Em 21/07/2010 21:31, "Flávio R. Lopes" 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";
>>>>
>>>> }
Isso gera a saída que você quer!!!

use 5.12.0;

my @numeros = (1, 2, 3, 4, 5, 6, 6, 6, 5);
my %hash;
for(@numeros){
         push @{$hash{$_}}, $_;
}

while ( my ($chave, $valor) = each %hash ) {
     say "$chave => $_" for @{$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
>>>>
>>>
>>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>
>


-- 
What is the sound of Perl? Is it not the sound of a wall that people have
stopped banging their heads against?
—Larry Wall

Thiago Glauco Sanchez
Intrutor Perl e Redes
www.ticursos.net



More information about the SaoPaulo-pm mailing list