在方法中使用模运算符时遇到问题

Having trouble using the modulo operator with a method

我有两种方法 turn_count(board) 和 current_player(board)。 turn_count(board) 方法,returns 数组中 "X" 和 "O" 的数量正常工作。但是 current_player(board) 方法,如果 turn_count(board) 是偶数,应该放置 "X" ,如果 turn_count(board) 是奇数,则应该放置 "O"一直给我一个错误。错误是:

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

很明显,它是说正在使用的模运算符存在问题,但我不确定为什么,并且一直在绞尽脑汁试图弄清楚。

非常感谢任何帮助!

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

问题是您在 NilClass 上使用 %。您的 turn_count() 方法 returns 无。检查如果将 puts count 替换为 count 会发生什么。