如何创建包含数组副本的数组

Ora*_*bîg 0 ruby arrays

我找不到像构建数组的方法

[  [1,2,3] , [1,2,3] , [1,2,3] , [1,2,3] , [1,2,3]  ]
Run Code Online (Sandbox Code Playgroud)

给定[1,2,3]和数量5.我想有某种阵列上,比如运营商productmult,但没有在文档做的.请告诉我.我错过了很简单的事情.

Mic*_*ker 8

Array.new(5, [1, 2, 3]) 要么 Array.new(5) { [1, 2, 3] }

Array.new(size, default_object)创建一个初始大小的数组,填充您指定的默认对象.请记住,如果您改变任何嵌套数组,您将改变所有嵌套数组,因为每个元素都是对同一对象的引用.

array = Array.new(5, [1, 2, 3])
array.first << 4
array # => [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]
Run Code Online (Sandbox Code Playgroud)

Array.new(size) { default_object }允许您创建具有单独对象的数组.

array = Array.new(5) { [1, 2, 3] }
array.first << 4
array #=> [[1, 2, 3, 4], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]] 
Run Code Online (Sandbox Code Playgroud)

查看链接到的页面的最顶部,在标题为"Creating Arrays"的部分下,了解更多创建数组的方法.