Ich erwarte, dass der folgende Code wie erwartet funktioniert, aber ich erhalte einen NoMethodError (private Methode "foo" aufgerufen für #<MyClass...)
class MyClass
end
my_object = MyClass.new
my_object.instance_variable_set(:@foo, "bar")
MyClass.send("attr_reader", :foo)
puts my_object.foo
Das Problem ist, ich bin mit buchstäblich identischen Code in einer größeren Anwendung und es funktioniert genau wie ich erwarte, aber wenn ich es zu diesem grundlegenden Beispiel vereinfachen es fehlschlägt.
(Ich weiß, dass es viele andere Möglichkeiten gibt, das zu tun, was ich in Ruby tue)