使用模数运算符时遇到问题

时间:2016-01-25 06:13:56

标签: ruby debugging modulo

我有两种方法turn_count(board)和current_player(board)。 turn_count(board)方法正确地返回数组中的" X"和#34; O" s。但是current_player(board)方法应该放置" X"如果turn_count(板)是偶数和" O"如果turn_count(board)是奇数,那就给我一个错误。错误是:

/ Users / john / Desktop / test file.rb:13:in current_player': undefined method%' for nil:NilClass(NoMethodError)   来自/ Users / john / Desktop / test file.rb:18:在`'

显然,它说使用模运算符存在问题,但我不确定为什么并且一直在试图解决问题。

非常感谢任何帮助!

def turn_count(board)
      count = 0
    board.each do |x| if x == "X" || x == "O" 
      count = count + 1
    end
  end
    puts count
end 


def current_player(board)
  if turn_count(board) % == 0
     puts "X"
  else
     puts "O"
  end 
end

1 个答案:

答案 0 :(得分:1)

问题是你在NilClass上使用%。你的turn_count()方法返回nil。检查如果将put count替换为count,会发生什么。