【问题标题】:Ruby - Can an object access or identify the object which instantiated it?Ruby - 对象可以访问或识别实例化它的对象吗?
【发布时间】:2013-10-08 06:54:40
【问题描述】:

例如,我该如何实现以下内容:

class A
  def initialize
    b = B.new
  end
end

class B
  def initialize
   puts #how can I find out who instantiated me
  end
end

【问题讨论】:

标签: ruby


【解决方案1】:
class A
  def initialize
    B.new(self)
  end
end

class B
  def initialize initializer
    puts initializer
  end
end

A.new # => #<A:0x007fee78368dc8>

【讨论】:

  • B 类是否可以在不明确传递 self 的情况下访问它的“创建者”对象?
  • 也许你可以试试TracePoint。但我看不出有任何理由这样做,而且我不会那样做。
猜你喜欢
  • 2019-10-22
  • 2018-02-18
  • 2023-03-24
  • 1970-01-01
  • 2016-12-03
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2019-06-09
相关资源
最近更新 更多