Lua 数字小于0
如果counterFlag[name]小于0,我试图将计数器设置为0Lua 数字小于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]
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
与数字进行比较。