我刚刚开始使用基本的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写成?
编辑:x被设置为输入参数之一。我很肯定这是一个数字,而不是一个字符串;在之前的陈述中,我将它用作for循环中的最大值。
答案 0 :(得分:3)
x被设置为输入参数之一。我很肯定这是一个数字,而不是一个字符串;在之前的陈述中,我将它用作for循环中的最大值。
输入参数(来自arg
)总是字符串,它将被强制转换为for循环中的数字:
for i = 1, "4" do print(i) end
-- 1
-- 2
-- 3
-- 4
但在这种情况下,您似乎需要使用tonumber()
。