Ruby + Rails3: действительно странное назначение проблемы с массивами - PullRequest
0 голосов
/ 30 января 2011

В моем тесте:

@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 .... поэтому я запутался.

1 Ответ

3 голосов
/ 30 января 2011

Метод 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.

Я недостаточно внимательно изучил ваш код, чтобы убедиться, что других проблем нет, но это определенно выведет неверные значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...