给出以下代码:
class MagicList
def items=(array)
@items = array.map{|x| x*2}
end
def items
@items
end
end
list = MagicList.new
returns = list.items=([1, 2, 3])
puts returns.inspect # => [1, 2, 3]
puts list.items.inspect # => [2, 4, 6]
Run Code Online (Sandbox Code Playgroud)
我期望值returns是[2, 4, 6],因为@items以及array.map{|x| x*2}两者都返回这个值.为什么[1, 2, 3]?