我正在尝试定义一个名为function
. 当我这样做时它有效:
a = A.new
def a.function
puts 100
end
但我希望该方法适用于任何实例变量,而不仅仅是a
. 例如,当我调用otherfunction
的实例时,什么也没有发生。所以我习惯于定义函数而不是.A
a
A::f
a.function
class A
attr_accessor :function
attr_accessor :var
end
def A::function
self.var = 0x123
end
a = A.new
a.function
puts a.var
这编译得很好,但是当我尝试调用该函数时出现错误。为什么它不起作用,我该如何做我正在尝试的事情?