0
我試圖轉置[[0, 1, 2], [3, 4, 5], [6, 7, 8]]
。我得到[[2, 5, 8], [2, 5, 8], [2, 5, 8]]
。使用「每個」方法將值賦給二維數組
我可以看到線p transposed_arr
發生了什麼,但不明白爲什麼會發生這種情況。在每一次迭代中,它都會改變每一行,而不是隻改變一行。
def my_transpose(arr)
# number of rows
m = arr.count
#number of columns
n = arr[0].count
transposed_arr = Array.new(n, Array.new(m))
# loop through the rows
arr.each_with_index do |row, index1|
# loop through the colons of one row
row.each_with_index do |num, index2|
# swap indexes to transpose the initial array
transposed_arr[index2][index1] = num
p transposed_arr
end
end
transposed_arr
end
THX卡里,它的工作原理... –
現在你的代碼工作,考慮postin在[代碼評論](http://codereview.stackexchange.com/)中獲取改進建議。如果你以前沒去過那裏,我想你會留下深刻的印象。這裏發佈的許多問題都來自新手,所以它不是一點點的恐嚇。 –