Ruby:在方法中递增
我正在尝试创建一个CLI算术测验程序,但很难将分数保持在该方法内。每当我试图增加score变量(声明的)时,就会收到以下错误消息Ruby:在方法中递增,ruby,methods,count,increment,Ruby,Methods,Count,Increment,我正在尝试创建一个CLI算术测验程序,但很难将分数保持在该方法内。每当我试图增加score变量(声明的)时,就会收到以下错误消息 您的分数变量未声明。您没有显示类实现,但我建议您使用attr\u writer:score(或者attr\u访问器:score,如果您希望同时获取和设置var),并在initialize方法中设置初始值。您的score变量未声明。您没有显示类实现,但我建议您使用attr\u writer:score(或者attr\u accessor:score,如果您希望同时获取和
您的分数变量未声明。您没有显示类实现,但我建议您使用
attr\u writer:score
(或者attr\u访问器:score
,如果您希望同时获取和设置var),并在initialize
方法中设置初始值。您的score变量未声明。您没有显示类实现,但我建议您使用attr\u writer:score
(或者attr\u accessor:score
,如果您希望同时获取和设置var),并在initialize
方法中设置初始值。方法中的所有局部变量仅在方法中可见。类变量具有更高的可见性,因此将score
重命名为@score
(方法内部和外部)应该是一种补救措施。方法内部的所有局部变量都只在方法内部可见。类变量具有更大的可见性,因此将score
重命名为@score
(方法内部和外部)应该是一种补救措施
main.rb:17:in `ask': undefined method `+' for nil:NilClass (NoMethodError)
from main.rb:23:in `<main>'
def ask(question, answer)
print question
user_answer = gets.chomp
if user_answer == answer
puts "Correct!"
score += 1
else
puts "Wrong! The answer was #{answer}"
end
end