[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