评估变量并在一行中分配给另一个变量

时间:2013-11-21 14:55:07

标签: lua

我有一个从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。

1 个答案:

答案 0 :(得分:1)

像这样:

elements.active.value = tonumber(v.active) == 1

因为像==这样的关系运算符的结果是布尔值,只是你在代码段中分配给elements.active.value的结果。

  

Lua reference manual: Relational Operators

     

Lua中的关系运算符是

==    ~=    <     >     <=    >=
     

这些运算符始终会生成falsetrue