Ruby:在方法中递增

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,如果您希望同时获取和

我正在尝试创建一个CLI算术测验程序,但很难将分数保持在该方法内。每当我试图增加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