在Lua中有一种方法可以获得1和true以及0吗?有一个tobool用1或0给出真或假,但是tonumber给出一个真或假的零值.
hjp*_*r92 11
您可以像三元运算符一样组合and和使用or子句.
function bool_to_number(value)
return value and 1 or 0
end
Run Code Online (Sandbox Code Playgroud)
您也可以这样做:
bool_to_number={ [true]=1, [false]=0 }
print(bool_to_number[value])
Run Code Online (Sandbox Code Playgroud)
或这个:
debug.setmetatable(true, {__len = function (value) return value and 1 or 0 end})
print(#true)
print(#false)
Run Code Online (Sandbox Code Playgroud)