Tag: perfect square

如何在Ruby中的Array类中对数组的每个元素进行平方?

我的部分代码如下: class Array def square! self.map {|num| num ** 2} self end end 我打电话的时候: [1,2,3].square! 我希望得到[1,4,9],但我得到[1,2,3]。 为什么会这样? 我打电话的时候: [1,2,3].map {|num| num ** 2} 在课堂方法之外,我得到了正确的答案。