Lua Boolean составной или
Я только начинаю с базового интерпретатора Lua и столкнулся с этой проблемой:
a = tonumber(a)
b = tonumber(b)
if a < 1 or b < 1 or a > x or b > x then
...
end
И я получаю сообщение об ошибке:
Attempt to compare number with string expected, got number
Я новичок в этом. Как это утверждение должно быть написано на Lua?
РЕДАКТИРОВАТЬ: х установлен в качестве одного из входных аргументов. Я уверен, что это число, а не строка; в предыдущих выражениях я использовал его как максимальное значение в цикле for.
1 ответ
Решение
x установлен как один из входных аргументов. Я уверен, что это число, а не строка; в предыдущих выражениях я использовал его как максимальное значение в цикле for.
Входные аргументы (из arg
) всегда являются строками, которые будут преобразованы в числа в цикле for:
for i = 1, "4" do print(i) end
-- 1
-- 2
-- 3
-- 4
В этом случае, однако, похоже, что вам нужно использовать tonumber()
,