Rubyについて Part 8
■ このスレッドは過去ログ倉庫に格納されています
0810デフォルトの名無しさん
NGNGすぐ外のブロックだけでスコープが終わるので、クラス変数みたいに
どっかからこっそりいじられる心配からは解放されるんじゃないかと。
class A
end
catch (:foo) {
sum = 0
A.__send__(:define_method, :f) { |x| sum += x; sum }
A.__send__(:public, :f)
}
a = A.new
p a.f(10)
p a.f(10)
catchは無引数のブロックを1回だけ実行する関数として使ってる
だけです。
■ このスレッドは過去ログ倉庫に格納されています