[SP-pm] Dúvida com Hash Slices

Thiago Glauco Sanchez thiagoglauco at ticursos.net
Sun Jul 25 08:11:46 PDT 2010


Flávio >>>>
Minhas dificuldade são:
1)
Como o Perl "sabe" que "@quantidade" refere-se ao hash "%quantidade" ?
Por exemplo, se houvesse um outro array "*@quantidade* = qw/ 1 2 /" 
porque não causa confusão com "*@quantidade*{ @frutas } = @unidades" ?
 >>>>

O perl sabe que vc se refere a um hash pelas chaves { } e a um array 
pelos ( ). Os { } indicam que são chves de um hash e ( ) indicam que são 
elementos de um array.
Acho que era esta a sua pergunta?


Flávio >>>>>
2)
Na linha: @quantidade{ @frutas } = @unidades;
## Posso entender que é aqui que é "montado" o hash "%quantidade" ?

Onde:
Para cada chave: *@quantidade{ @frutas }*
É atribuído um valor: *@unidades
<<<<<<

Sim, pode entender assim por que é isso que ocorre.
é o mesmo que:
@quantidade{ *bananas, laranjas, melões } = (qw / 5 10 15 /)



Em 24/07/2010 23:55, "Flávio R. Lopes" escreveu:
> Olá pessoal, tudo bem?
>
> Seguinte, estou tendo certa dificuldade para entender sobre Hash Slices.
>
> Vi um exemplo de Hash Slices no livro que estou lendo e tentei montar 
> um para tentar entender o funcionamento:
>
> my %quantidade;
>
> my @frutas = qw / bananas laranjas melões /;
> my @unidades = qw / 5 10 15 /;
> @quantidade{ @frutas } = @unidades;
>
> foreach my $frutas ( @frutas ) {
> say "Eu comprei $quantidade{$frutas} $frutas"
> }
>
> Minhas dificuldade são:
> 1)
> Como o Perl "sabe" que "@quantidade" refere-se ao hash "%quantidade" ?
> Por exemplo, se houvesse um outro array "*@quantidade* = qw/ 1 2 /" 
> porque não causa confusão com "*@quantidade*{ @frutas } = @unidades" ?
>
> 2)
> Na linha: @quantidade{ @frutas } = @unidades;
> ## Posso entender que é aqui que é "montado" o hash "%quantidade" ?
>
> Onde:
> Para cada chave: *@quantidade{ @frutas }*
> É atribuído um valor: *@unidades*
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> 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