2010-07-19 21 views

cevap

9

Array.new(3, Array.new(3)) aynı dizi üç kez içeren bir dizi döndürür: içinde

a = Array.new(3, Array.new(3)) 
a[1].fill('g') 

=> [["g", "g", "g"], ["g", "g", "g"], ["g", "g", "g"]] 

bu sonuçlanmamalıdır.

Muhtemelen istediğiniz Array.new(3) { Array.new(3) }, Array.new(3) üç kez değerlendirir ve böylece üç bağımsız dizilerden oluşan bir dizi verir.

+0

Fantastik, teşekkür döndürür! –

0

Bu doğruysa, Array.new(array) (aynı obj için yani boyut referanslar) obj büyüklüğü kopyaları ile oluşturulan yeni bir dizi