【发布时间】:2014-04-18 17:56:04
【问题描述】:
我有这样的课:
class Tiles
attr_accessor :board
def initialize
@board = Array.new(4) { Array.new(4) { 0 } }
end
...
后来,我把这个方法叫做:
def display_board
padded_board = @board.clone
padded_board.each_with_index do |row, x|
row.each_with_index do |item, y|
padded_board[x][y] = pad_number(item)
end
puts row.join ' '
end
end
每当我更改padded_board,@board 也会更改。我无法弄清楚为什么会这样。有什么想法吗?
【问题讨论】:
-
.dup 的执行方式相同。