[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 19:36:33 PDT 2010


Em 21-07-2010 23:27, Bruno Buss escreveu:
> push @juncao_elementos, @array1, @array2;

     Nossa!...que "difícil" heim! :p
     Obrigado Bruno

>
> 2010/7/21 "Flávio R. Lopes" <flavio.lopes em links.inf.br 
> <mailto:flavio.lopes em links.inf.br>>
>
>     Aproveitando a oportunidade, teria jeito mais fácil do que este
>     que eu fiz para juntar dois Arrays em um terceiro array, por exemplo:
>
>     my @array1 = qw ( 4 5 6 7 );
>     my @array2 = qw ( 8 9 );
>
>        foreach my $elementos ( @array1, @array2 ) {
>
>            push @juncao_elementos, $elementos;
>
>        }
>
>
>
>
>     Em 21-07-2010 22:45, Daniel de Oliveira Mantovani escreveu:
>
>         Você pode contar o tanto de vezes que aparece em seguida,
>
>         use strict;
>         use warnings;
>         use Data::Dumper;
>
>         my @numeros = ( 1, 2, 3, 4, 5, 6, 6, 6, 5 );
>         my %hash = map { $_ =>  { $_ =>  ++$_{$_} } } @numeros;
>
>         print Dumper %hash;
>
>         <resultado>mantovani em mantovani-desktop:~$ perl foo.pl
>         <http://foo.pl>
>         $VAR1 = '6';
>         $VAR2 = {
>                   '6' =>  3
>                 };
>         $VAR3 = '4';
>         $VAR4 = {
>                   '4' =>  1
>                 };
>         $VAR5 = '1';
>         $VAR6 = {
>                   '1' =>  1
>                 };
>         $VAR7 = '3';
>         $VAR8 = {
>                   '3' =>  1
>                 };
>         $VAR9 = '2';
>         $VAR10 = {
>                    '2' =>  1
>                  };
>         $VAR11 = '5';
>         $VAR12 = {
>                    '5' =>  2
>                  };
>         </resultado>
>
>
>         2010/7/21 "Flávio R. Lopes"<flavio.lopes em links.inf.br
>         <mailto:flavio.lopes em links.inf.br>>:
>
>             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
>                 <mailto: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 <mailto:SaoPaulo-pm em pm.org>
>                     http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
>
>
>
>             _______________________________________________
>             SaoPaulo-pm mailing list
>             SaoPaulo-pm em pm.org <mailto:SaoPaulo-pm em pm.org>
>             http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
>
>
>     _______________________________________________
>     SaoPaulo-pm mailing list
>     SaoPaulo-pm em pm.org <mailto:SaoPaulo-pm em pm.org>
>     http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
>
> -- 
> Bruno C. Buss
> http://brunobuss.wordpress.com/
> http://www.dcc.ufrj.br/~brunobuss/ <http://www.dcc.ufrj.br/%7Ebrunobuss/>
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm

-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100721/28edcc33/attachment.html>


More information about the SaoPaulo-pm mailing list