在类定义中,这两种方法有什么区别?
def func(var)
...
end
def func=(var)
...
end
Run Code Online (Sandbox Code Playgroud)
有没有,或者其中一个无效?
它们都是有效的方法定义.但第二个是定义'setter'方法 - 您可以使用以下语法调用此方法:
obj.func = 123
Run Code Online (Sandbox Code Playgroud)
本声明将被翻译成
obj.func=(123)
Run Code Online (Sandbox Code Playgroud)
你可以看看这个答案,我将更详细地解释这个语法.