我遇到了一个错误:attempt to compare boolean with number使用以下代码:
local x = get_x_from_db() -- x maybe -2, -1 or integer like 12345
if 0 < x < 128 then
-- do something
end
Run Code Online (Sandbox Code Playgroud)
是什么导致这个错误?谢谢.
写作0 < x < 128在Python中没问题,但在Lua中没有.
因此,在执行代码时,Lua中会首先计算,如果0 < x是true.如果是,则比较变为true < 128,这显然是错误消息的原因.
为了使它工作,你必须写:
if x < 128 and x > 0 then
--do something
end
Run Code Online (Sandbox Code Playgroud)