2011-01-30 3 views
0

の本当に奇妙な割り当て:出力に対応するルビー+ Rails3:私のテストでは、アレイの問題

@board.disp_s 
@board.state = [1,0,0,1,0,0,0,0,0] 
@board.disp_s 

Layout: 
nilnilnil 
nilnilnil 
nilnilnil 

Layout: 
100 
100 
110 

は今...私は

することを告げたかなり確信しています私のモデルから
100 
100 
000 

コード:http://pastebin.com/2Mpu7tU7

私のメソッドのどれもが呼び出されていないと確信しています。@board_layoutを変更しています....私は混乱しています。

+0

外部のペーストビンリンクではなく、ここにすべてのコードを含める方がよいでしょう。 –

+0

私はそれをしました、コードは約70行です。 – NullVoxPopuli

答えて

3

disp_sメソッドはインデックスを正しく計算していません。

def disp_s 
    puts "Layout:" 
    WIDTH.times do |row| 
     WIDTH.times do |col| 
     print @board_layout[col * row + col] 
     end 
     puts " " 
    end 

col * row + colはおそらくWIDTH * row + colでなければなりません。

他の問題がないことを確認するためにあなたのコードを慎重に見たわけではありませんが、間違った値が間違いなく印刷されます。

+0

笑、ありがとう。愚かな間違い。私はちょうどそれをあまりにも凝視していると思う。 – NullVoxPopuli