[Rio-pm] "Escopo"?
Solli Honorio
shonorio em gmail.com
Segunda Abril 28 17:03:00 PDT 2008
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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080428/821ed13f/attachment.html
Mais detalhes sobre a lista de discussão Rio-pm