Ruby 2个不同的类别A和B。变量是在类A中声明的。我想获取B中变量的值

Ruby 2个不同的类别A和B。变量是在类A中声明的。我想获取B中变量的值,ruby,class,inheritance,Ruby,Class,Inheritance,这是不同文件a.rb和b.rb中的两个类。我想在B班打印@I。有人能帮我吗 class A @i = 2 end class B puts @i end 执行该文件,您将获得以下输出: require_relative 'a' class B puts A.instance_variable_get(:@i) end 我建议你在去露比的黑魔法之前考虑传统的方式。< /P> ruby b.rb #=> 2 如果暴露一个的成员确实是不可接受的,那么就采用Andrey Deinek

这是不同文件a.rb和b.rb中的两个类。我想在B班打印@I。有人能帮我吗

class A
@i = 2
end

class B
puts @i
end
执行该文件,您将获得以下输出:

require_relative 'a'

class B
  puts A.instance_variable_get(:@i)
end

我建议你在去露比的黑魔法之前考虑传统的方式。< /P>
ruby b.rb
#=> 2

如果暴露
一个
的成员确实是不可接受的,那么就采用Andrey Deineko的解决方案。

试试看:你的问题是什么?我的问题是如何将另一个类的变量的值打印到另一个类中。我应该使用什么?要求、加载、包括。如果这是您问题的解决方案,请将其标记为答案。
class A
  @i = 2
  def self.i
    @i
  end
end

class B
  puts A.i  #=> 2
end