小编Ler*_*y22的帖子

如何动态添加attr_reader

我希望以下代码按预期工作但它给我一个NoMethodError(私有方法`foo'调用#<MyClass ...)

class MyClass
end

my_object = MyClass.new

my_object.instance_variable_set(:@foo, "bar")
MyClass.send("attr_reader", :foo)

puts my_object.foo
Run Code Online (Sandbox Code Playgroud)

问题是我在一个更大的应用程序中使用完全相同的代码并且它的工作方式与我期望的完全相同,但是当我将其简化为最基本的示例时,它会失败.

(我知道还有很多其他方法可以做我在Ruby中做的事情)

ruby

17
推荐指数
3
解决办法
3842
查看次数

标签 统计

ruby ×1