无法找到缺少终端输入的位置

时间:2019-07-06 07:52:06

标签: ruby

对于这个琐碎的问题,我感到非常抱歉,我在Ruby中是一个新手。 它显示了我

13-3.rb:32: syntax error, unexpected end-of-input, expecting keyword_then or ';' or '\n'"

但是我只是看不到我应该在此处“结束”的地方

if File.exist?(questions) && if File.exist?(answers)
    f = File.new(questions, "r:UTF-8")
    question_line = f.readlines
    f.close
    g = File.new(answers, "r:UTF-8")
    answer_line = g.readlines
    g.close

    right_answers = 0
    position = 0
    questions_amount = question_line.length

    while position <= questions_amount
        puts question_line[position]
        user_input = gets.encode("UTF-8").chomp
        if user_input == answer_line[position]
            puts "Верный ответ"
            right_answers += 1
        else
            puts "Неправильно. Верный ответ: " + answer_line[position]
        end
        position += 1
    end
    puts "У вас #{right_answers} правильных ответов из #{questions_amount}"
else
    puts "Файл не найден"
end

1 个答案:

答案 0 :(得分:0)

似乎您在do语句中忘记了while

while position <= questions_amount do
  # ...
end

此外,如评论中所述,第一行应为

if File.exist?(questions) && File.exist?(answers)

希望这会有所帮助。