[Rio-pm] "Escopo"?

Samir Cury rimasy em gmail.com
Segunda Abril 28 17:26:48 PDT 2008


entendi, no segundo exemplo se "tenta" imprimir a variável de um escopo em
outro, então não daria certo, correto?

Em 28/04/08, Solli Honorio <shonorio em gmail.com> escreveu:
>
> Isto mesmo Samir, você pode escrever coisas assim :
>
> <code>
>
> for my $i  (0..100) {
>   imprimir($i);
> }
>
> sub imprimir {
>   my $i = shift;
>   print "$i\n";
> }
>
> </code>
>
> Apesar das variáveis terem o mesmo nome, elas possuem endereço de memória
> distintas, por isto são variáveis diferentes.  Mas tome cuidado com isto,
> pois o código abaixo não vai rodar exatamente como você acha, teste você
> mesmo.
>
> <code>
>
> my $i = 0;
> for my $i  (0..100) {
>   imprimir($i);
> }
>
> sub imprimir {
>   print "$i\n";
> }
>
> </code>
>
> Outro detalhe importante são os closures,  mas acho melhor você
> compreender bem a questão da variável local e global.
>
> Abraços,
>
> Solli M. Honório
>
> 2008/4/28 Samir Cury <rimasy em gmail.com>:
>
> > Pessoal,
> >
> > Vendo algumas palestras lá no ET pensei o seguinte:
> >
> > foi falado muito de
> >
> > {
> >
> >   Escopo
> >
> > }
> >
> > então se eu "tranco" o meu loop dentro do escopo usando $i como índice,
> > e declaro "$i" como "my $i", então ela será uma variável local dentro
> > daquele escopo APENAS, ou seja, para o resto do programa (fora do escopo)
> > ela nem existe, então eu posso em todos os loops usar a mesma variável.
> >
> > Bom foi isso que eu deduzi, queria uma confirmação.
> >
> > Valeu!
> >
> > _______________________________________________
> > Rio-pm mailing list
> > Rio-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> >
>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080428/3cff48d6/attachment.html 


Mais detalhes sobre a lista de discussão Rio-pm