Perlについての質問箱 25箱目
■ このスレッドは過去ログ倉庫に格納されています
0226デフォルトの名無しさん
2006/06/11(日) 21:49:17{
my $hoge = "abc";
$closure = sub { print "$hoge\n"; };
$closure->(); # abc
print "$hoge\n"; # abc
}
$closure->(); # abc
print "$hoge\n"; # エラーになる
$hoge はレキシカル変数なのでブロックの中でのみ有効。
しかし、クロージャの中にレキシカル変数を閉じ込めると、ブロックの外でも参照できる。
こんな感じでわかるかな?
■ このスレッドは過去ログ倉庫に格納されています