pracuję nad problemami przedstawionymi w tablicy http://prepwork.appacademy.io/mini-curriculum/array/Ruby -> Zapis do 2D tablice
Próbuję utworzyć funkcję, my_transpose, który odbywa się w matrycy i zwraca jej transpozycję.
Jestem bardzo zdezorientowany pisaniem do tablicy 2D! Oto fragment kodu, który podkreśla moje zamieszanie.
rows = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8]
]
columns = Array.new(3 , Array.new(3))
puts columns.to_s #Output is a 3 x 3 array filled with nil
columns[0][0] = 0
puts columns.to_s #Output is [[0,nil,nil], [0,nil,nil], [0,nil,nil]]
Dlaczego modyfikacja kolumn [0] [0] zmienia wszystkie trzy zmienne? Czy nie powinna zmienić pierwszej komórki w pierwszym rzędzie?
Dobra odpowiedź, ale warto krótko wyjaśnić, * dlaczego * Twoje rozwiązanie działa. –
Dzięki! Idealny! – bmillsiv