我正在解决http://prepwork.appacademy.io/mini-curriculum/array/中列出的数组问题。
我正试图创建一个函数my_transpose,它接收一个矩阵并返回其转置。
我非常困惑如何写一个二维数组!以下是一个代码片段,突显了我的困惑。
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]]
为什么修改columns[0][0]的值会影响到所有三个变量?它不应该只改变第一行第一列的单元格吗?