Lua中的“不等于”表示不等于这个或那个。

我正在尝试验证一个变量不等于这个或者那个。我尝试使用以下代码,但都没有成功:

if x ~=(0 or 1) then
    print( "X 必须等于 1 或 0" )
    return
end

if x ~= 0 or 1 then
    print( "X 必须等于 1 或 0" )
    return
end

有没有办法实现这个功能?

点赞
用户307929
用户307929

仅用于测试两个值,我个人会这样做:

if x ~= 0 and x ~= 1 then
    print("X必须等于1或0")
    return
end

如果您需要针对多个值进行测试,则应将选择项放在充当集合的表中,如下所示:

choices = {[0]=true, [1]=true, [3]=true, [5]=true, [7]=true, [11]=true}

if not choices[x] then
    print("x必须在前六个质数中")
    return
end
2012-07-25 21:46:12
用户527776
用户527776

x ~= 0 or 1((x ~= 0) or 1) 相同。

x ~=(0 or 1)(x ~= 0) 相同。

可以尝试像这样做。

function isNot0Or1(x)
    return (x ~= 0 and x ~= 1)
end

print( isNot0Or1(-1) == true )
print( isNot0Or1(0) == false )
print( isNot0Or1(1) == false )
2012-07-25 21:47:43