Arrays 是否可以只复制数组的值?
我创建了一个二维数组并试图复制它的值。我尝试了分配、复制和克隆Arrays 是否可以只复制数组的值?,arrays,ruby,clone,dup,Arrays,Ruby,Clone,Dup,我创建了一个二维数组并试图复制它的值。我尝试了分配、复制和克隆 @grid = Array.new(3) { Array.new(3) } new_grid = @grid.clone 每当我尝试更改新变量中的值时,更改都会反映在原始数组中 new_grid[0][0] = true @grid # => [[true, nil, nil], [nil, nil, nil], [nil, nil, nil]] 有什么方法可以避免这种值的链接吗?有。进行深度复制或克隆 new_grid
@grid = Array.new(3) { Array.new(3) }
new_grid = @grid.clone
每当我尝试更改新变量中的值时,更改都会反映在原始数组中
new_grid[0][0] = true
@grid # => [[true, nil, nil], [nil, nil, nil], [nil, nil, nil]]
有什么方法可以避免这种值的链接吗?有。进行深度复制或克隆
new_grid = @grid.map(&:dup)