我有以下两种方法,我认为应该有相同的行为无视他们的名字:啪参数表现不同的属性的作家相比,常规方法
def a=(*params)
params
end
def b(*params)
params
end
但当其实我使用它们:
a=(1) # => 1
b(1) # => [1]
(a=1) == b(1) # => false
,而有趣的是:
(a=1,2) == b(1,2) # => true
为什么不是他们的行为SA我?
编辑:忘了包裹上面结合self.
类/调用,它意外地产生相同的行为,但对于不同的原因。答案中已经指出。
我回滚了你的编辑,因为你在从mudasobwa得到一个答案之后改变了问题,这个答案至关重要地指出了与你改变的部分有关的东西。在那个时候不要改变你的问题。 – sawa
对不起,忘了加上'self.'而我是想提供一个最小的例子,因为它无意中仍产生同样的问题,这个问题可以重现。遗憾的是这样的问题是愚蠢的,但最终我没有得到你指的是答案的答案,我的真正的问题。 – thisismydesign