Perlについての質問箱 17箱目
■ このスレッドは過去ログ倉庫に格納されています
0786782
2005/07/12(火) 21:28:16ええとだから、780さんが言っている通りです。
sub hoge {
return my $foo = 3;
}
と書けるかどうか。
それと、無名ハッシュリファレンスをそのままreturnしても、
無名ハッシュの中で $self 使ってるから動きません。
無名サブルーチンを定義した際、$selfは各無名サブルーチン内でグローバルスコープを持ちます。
$x, $y が独立した値を扱えるようにする為にも、
String_new() 内では、$selfを毎回新規作成する必要があります。
だから、my $self; してから、$self = { (略) };
こんなんで合ってるかな。
まぁ、あんまり効率的でもないし、あまりオススメもできないコードです。
無名サブルーチン定義時のスコープについてよく分からなければ「黒豹本(Advanced Perl Programming, 日本語名忘れた…)」を読んでください。
■ このスレッドは過去ログ倉庫に格納されています