【问题标题】:Possible to copy just the value of an array?可以只复制数组的值吗?
【发布时间】:2015-10-09 09:39:49
【问题描述】:

我创建了一个二维数组并尝试复制它的值。我尝试了赋值、复制和克隆。

@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]]

有什么办法可以避免这种价值链接?

【问题讨论】:

    标签: arrays ruby clone dup


    【解决方案1】:

    是的。进行深度复制或克隆。

    new_grid = @grid.map(&:dup)
    

    【讨论】:

      猜你喜欢
      • 2013-04-11
      • 2018-10-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多