2015-04-21 73 views

回答

3

你永遠不會重置x回0,所以在第二while迭代你x開始與9它最後一次完成,不0。這使得board[9],這可能是越界,因此nil;然後nil[1]崩潰你的代碼。

請注意,你可以寫9.times do |x| ... end有從08x計數無需任何人工計數,因爲times通過當前迭代次數成塊。

而且,更Rubyish的方式來總結列:

board.transpose.map { |row| row.reduce(&:+) } 
+0

啊,非常感謝你! –