Rubyについて Part 8
■ このスレッドは過去ログ倉庫に格納されています
0501デフォルトの名無しさん
NGNGdef initialize(str); @msg = str; end
def sayHello; puts "hello, #{str}"; end
def createInner; InnerHoge.new; end
class InnerHoge
def method
OuterHogeの sayHelloを呼ぶ
end
end
end
obj1 = OuterHoge.new("obj1").createInner()
obj2 = OuterHoge.new("obj2").createInner()
というコードで以下のようにしたいのですが、
obj1.method #==> hello, obj1
obj2.method #==> hello, obj2
こんなクラスがあるときjavaだとstaticでない内部クラスなら
OuterHoge.this.sayHello
で自分が関連付けられている外側のクラスのインスタンスメソッドにアクセスできますよね?
rubyだとどうするんですか?
InnerHogeをnewするときにselfを明示的に渡してやらないと駄目?
■ このスレッドは過去ログ倉庫に格納されています