Jaký rozdíl mezi vytvářením pole pomocí Array.new(n, x) a Array.new(n) { x }?
Např. když zkusím toto:
a = Array.new(4, [1, 2, 3])
p a
a[0][0] = "hello"
p a
puts
a = Array.new(4) { [1, 2, 3] }
p a
a[0][0] = "hello"
p a
tak nechápu druhý řádek výstupu:
[[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
[["hello", 2, 3], ["hello", 2, 3], ["hello", 2, 3], ["hello", 2, 3]]
[[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
[["hello", 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]