楼上的调用是不对的,你可以去试一下,你的代码跑不起来的,p a的结果不是[12,34]
因为你用 method=12,34 语句实际上是申请了一个method变量,而不是调用method=方法,如果你不信,你可以跟踪代码执行看看有没有调用method=方法。
我测试的结果是,以=结尾的目前只能接受一个参数。原因,目前不得而知,有待看源码。不过我们可以猜测。以=结尾的方法在java中叫setter方法,功能是用于对一个属性赋值。我想ruby的这种设计应该是实现java中的setter方法,所以,可能是内部作了处理,包括上面所讨论的,它以self.来作为方法接受者也是特例。
上面我所说的两点,:1、self.x11= 中用了self,有悖它的private的定义,2、=方法只接受一个参数中我所阐述的观点不作为我最终的肯定的说法,目前还没有找到底层的实际证明。抛砖引玉,欢迎大家讨论