为什么当我调用此函数时整个程序结束?

时间:2019-03-29 03:52:50

标签: ruby

调用此函数时,我的整个程序崩溃。

def get_ans
    begin
        answer = gets.chomp.to_s
    end while (answer != 'a' && answer != 'b' && answer != 'c' && answer != 'd')
    return answer
end

def ans_checker(answer1, ans)
        if (answer1 == ans)
          score += 1
          puts "Correct \tYour score is now " + score.to_s
        else
          puts "Wrong \tYour score is still " + score.to_s
        end
end

get_ans
ans_checker(answer, 'a')

第一个函数运行良好,但是第二个函数在调用时使程序退出。我想知道为什么。

1 个答案:

答案 0 :(得分:1)

因为用作answer的第一个参数的ans_checker是未定义的。在get_ans内部使用了具有相同名称的变量,但是无法从方法定义外部进行访问。