class A
@i = 2
end
class B
puts @i
end
这些是不同文件a.rb和b.rb中的两个类。我想在B班打印@i。任何人都可以帮助我
答案 0 :(得分:2)
我建议你在使用Ruby的黑魔法之前考虑传统方式。
class A
@i = 2
def self.i
@i
end
end
class B
puts A.i #=> 2
end
如果揭露A
的成员真是不可接受,那么请选择Andrey Deineko的解决方案。
答案 1 :(得分:0)
b.rb
:
require_relative 'a'
class B
puts A.instance_variable_get(:@i)
end
执行该文件,您将获得输出:
ruby b.rb
#=> 2