我有一个类有一个方法:
def value=(valueIN)
some code
end
这正是我想要的:
(class instance).value="new data"
如果我可以重写这个类的
=
,这样就不必做value=
,这看起来会更干净。首先,我试着:def =(valueIN)
some code
end
但这给了我一个错误,所以我试着:
def self=(valueIN)
some code
end
这不会导致错误,但当我这样做时,它不起作用:
(class instance)="new data"
作业是不是课堂上不可更改的?如果做不到这一点,其实没什么大不了的,但我希望我错过了一些基本的东西。
最佳答案
对不起,你不能这样做。当您编写foo = bar
时,您只是分配一个变量,而不是调用任何方法。它只对一个方法调用进行desugar,和其他地方一样,方法调用的接收者是点之前的东西。