2012-09-01 80 views
2
def initialize() 
    @attribute = AnotherClass.new(self) 
end 

我将从python进行ruby。在Python中,我知道我可以将自己作为一个对象传递给一个函数。 现在,我想将自己传递给另一个类的初始化方法。我怎样才能做到这一点?Ruby通过自我初始化实例

+1

你尝试了吗? –

回答

4

就在你所期望的方式:

class A 
    def initialize(foo) 
    @foo = foo 
    end 
end 

class B 
    attr_reader :bar 

    def initialize 
    @bar = A.new(self) 
    end 
end 

B.new.bar.class #=> A