我在做一個練習題,問題是將行轉換爲Ruby中的列。移動行到列(限制我可以使用什麼方法)
我明白while
循環是「菜鳥式的」在Ruby中,但我認爲他們喜歡我使用的基本方法和控制流語句:while
,each
,map
。很顯然,我不能使用Array#transpose
。他們希望我從頭開始編寫Array#transpose
。
它不斷告訴我:
undefined method `[]=' for nil:NilClass (NoMethodError)
這裏是我的代碼:
def transpose(rows)
idx1 = 0
cols = []
while idx1 < rows.count
idx2 = 0
while idx2 < rows[idx1].count
cols[idx1][idx2] = rows[idx2][idx1]
idx2 += 1
end
idx1 += 1
end
return cols
end
puts transpose(rows = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8]
])
什麼是你的問題? – sawa 2015-03-09 02:25:04