Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 数字小于0_Lua - Fatal编程技术网

Lua 数字小于0

Lua 数字小于0,lua,Lua,如果counterFlag[name]小于0,我试图将计数器设置为0 if counterFlag[name] <== 0 then counterFlag[name] = 0 end 如果反标签[name]就这么简单: if counterFlag[name] < 0 then counterFlag[name] = 0 end 如果反标签[name]

如果counterFlag[name]小于0,我试图将计数器设置为0

if counterFlag[name] <== 0 then
counterFlag[name] = 0

end
如果反标签[name]就这么简单:

if counterFlag[name] < 0 then
    counterFlag[name] = 0
end
如果反标签[name]<0,则
反滞后[名称]=0
结束

或者使用
如果计数器不是一个大于0的数字,那么您可能真的想将其设置为0

counterFlag[name] = 
    type(counterFlag[name]="number") 
    and (counterFlag[name] > 0) 
    and counterFlag[name]
  or 0
是返回其第一个有效假操作数的运算符,否则返回其最后一个操作数。
是返回其第一个有效真操作数的运算符,否则返回其最后一个操作数

有效假表示值为
nil
false
。 事实上,正确意味着相反

因此,第一部分有条件地保持相同的值,如果不满足条件,第二部分给出0


或者,Lua习惯用法通常用于初始化可能为
nil
的变量:

counterFlag[name] = counterFlag[name] or 0
您可以将它放在使用
counterFlag[name]
的代码之前,这样它就不必检查
nil
。而且,由于您可能不会分配任何其他非数字值,因此代码可以使用需要数字值的运算符,而无需进行检查



请参阅。

现在我得到了“尝试比较0和数字”错误。这意味着“名称”是nil@user3142039检查
counterFlag[name]
的值,它现在的值是
nil
,您无法将
nil
与数字进行比较。