我有两种方法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
答案 0 :(得分:1)
问题是你在NilClass上使用%。你的turn_count()方法返回nil。检查如果将put count替换为count,会发生什么。