我有一个从db返回的变量作为字符串。我将它转换为数字,然后进行测试:
if tonumber(v.active) == 1 then
elements.active.value = true
else
elements.active.value = false
end
elements.active.value中的值用于显示复选框。我想知道是否有办法将这一切结合到一个陈述中?
编辑1
我使用lua boolean值来设置复选框,所以我不能使用1.你必须使用true / false。 我对是否可以使用1或true设置值并不感兴趣。我更感兴趣的是保持逻辑相同,但简化。
我真正追求的是像你在php中所做的那样:
max = array_key_exists ('max', $options) ? $options['max'] : 0;
它将使用$ options ['max']值或0,具体取决于eval。
答案 0 :(得分:1)
像这样:
elements.active.value = tonumber(v.active) == 1
因为像==
这样的关系运算符的结果是布尔值,只是你在代码段中分配给elements.active.value
的结果。
Lua reference manual: Relational Operators
Lua中的关系运算符是
== ~= < > <= >=
这些运算符始终会生成
false
或true
。