Lua 布尔复合运算符或

我刚开始使用一个基本的 Lua 解释器,遇到了这个问题:

a = tonumber(a)
b = tonumber(b)
if a < 1 or b < 1 or a > x or b > x then
    ...
end

我收到了一个错误消息:

尝试比较预期为字符串的数字,得到的是数字

我对此很陌生。该如何在 Lua 中编写该语句?

编辑:x 是输入参数之一。我确定它是一个数字,而不是一个字符串;在之前的语句中,我将其用作 for 循环中的最大值。

点赞
用户1516484
用户1516484

x 作为输入参数之一。我很确定它是一个数字,而不是一个字符串;在之前的语句中,我将它用作 for 循环中的最大值。

输入参数(来自 arg)总是字符串,在 for 循环中将被强制转换为数字:

for i = 1, "4" do print(i) end
-- 1
-- 2
-- 3
-- 4

但在这种情况下,看起来您需要使用 tonumber()

2012-12-25 03:27:09