[SP-pm] Dúvida com Hash Slices
Renato Santos
renato.cron at gmail.com
Sat Jul 24 20:28:04 PDT 2010
Estou sem perl no momento (ohh nohh, windows)
mas acho que seria assim:
my %quantidade;
my @frutas = qw / bananas laranjas melões /;
my @unidades = qw / 5 10 15 /;
%quantidade{ @frutas } = @unidades;
ou
$quantidade{ @frutas } = @unidades;
foreach my $frutas ( @frutas ) {
say "Eu comprei $quantidade{$frutas} $frutas"
}
La vai um exemplo:
%x = {key=>'value with a key'};
$x = 'value of scalar';
@x = ('value of array');
Todas as variaveis chamam-se "x", porem, para acessar os valores, usar-se
meios diferentes.
print $x{key}; # value with a key
print $x; # value of scalar
print $x[0]; # value of array
Bom,
enquanto escrevo um amigo roda um perl na casa dela via MSN! huasuhas
seu codigo rodou no perl 5.8 (trocando apenas o say) e funcionou com $, mas
nao com %
Eu acho que o jeito mais correto é usar $, pois é a forma correta de
escrever/acessar os valores de HASHs.
2010/7/24 "Flávio R. Lopes" <flavio.lopes at links.inf.br>
> 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 at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
--
Renato Santos
http://www.renatocron.com/blog/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100725/37154c6f/attachment.html>
More information about the SaoPaulo-pm
mailing list