5
def initialize()
  @attribute = AnotherClass.new(self)
end

PythonからRubyに移行します。Python では、self をオブジェクトとして関数に渡すことができることを知っています。ここで、self を別のクラスの initialize メソッドに渡したいと思います。どうやってやるの?

4

1 に答える 1

5

あなたが期待する方法:

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
于 2012-09-01T09:40:54.497 に答える