Всегда возвращает неверный простой математический lua

У меня есть очень простой скрипт Lua, который задает математический вопрос

math.randomseed(os.time())
        print ("Let's play Math")
        a = math.random(1,10)
        b = math.random(1,10)
        io.write("What is " .. a .. " + " .. b .. "?")
        answer = io.read()
        correct = (a + b)
            if (answer == correct) then
                print ("Correct")
            else
                print ("Wrong")
                print (correct) --For debug
            end

По какой-то причине я всегда получаю «неправильно», даже когда отвечаю правильно. Я также распечатываю правильный ответ, просто чтобы убедиться, что программа правильно обрабатывает математику. Где моя ошибка?


person Reubens4Dinner    schedule 21.04.2017    source источник


Ответы (1)


answer содержит строку и поэтому никогда не равен числу.

Просто добавь

    answer = tonumber(answer)

после

    answer = io.read()
person lhf    schedule 21.04.2017
comment
Это работает, и спасибо за объяснение, это очень полезно. - person Reubens4Dinner; 21.04.2017