Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 是否可以只复制数组的值?_Arrays_Ruby_Clone_Dup - Fatal编程技术网

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)