gpt4 book ai didi

ruby - 为什么我得到 undefined method `+' for nil :NilClass (NoMethodError)

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:45 26 4
gpt4 key购买 nike

我目前正在制作游戏,但遇到了一些问题。我用define做了一些特例。这是我的定义脚本。

def answerCorrect()
puts "Correct! Let's proceed to the next question."
points = points + 1
end

def answerWrong()
puts "Oh no! That's wrong! Try again!"
points = points - 2
input = gets.chomp
end

特殊情况是:

if input == "x"
answerCorrect()
else
answerWrong()
end

但是,我得到这个错误:

`answerCorrect': undefined method `+' for nil:NilClass (NoMethodError)

我该如何解决这个问题?

最佳答案

问题是您的 points 变量没有在这两种方法之间共享。

考虑使用实例变量来管理积分系统,即。

class AnswerEvaluator
def initialize
@points = 0
end

def answerCorrect()
puts "Correct! Let's proceed to the next question."
@points = @points + 1
end

def answerWrong()
puts "Oh no! That's wrong! Try again!"
@points = @points - 2
input = gets.chomp
end
end

如果您不想直接访问 @points,可以使用 attr_accessor 对此进行扩展。

关于ruby - 为什么我得到 undefined method `+' for nil :NilClass (NoMethodError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41048765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com