【发布时间】:2019-01-26 05:19:26
【问题描述】:
我在模块中定义了一个 ruby 类,如下所示
module Foo
class Bar
attr_accessor :attr_1, :attr_2, :attr_3
def initialize
@attr_1 = "a"
@attr_2 = "b"
@attr_3 = "c"
end
end
end
然后我尝试在一个单独的模块中访问实例变量(或 attr_accessor 定义的 getter),如下所示:
module AccessingModule
def get_instance_variables
var_1 = Foo::Bar.attr_1
var_2 = Foo::Bar.attr_2
var_3 = Foo::Bar.attr_3
end
end
尝试调用 var_1 = Foo::Bar.attr_1 时,我收到错误 NoMethodError: undefined method attr_1 for Foo::Bar:Class
有谁知道是什么阻止我访问 attr_accessor 中定义的内容?
【问题讨论】:
标签: ruby