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

我有一个从数据库返回的字符串变量。我将它转换为数字,然后像这样测试:

        if tonumber(v.active) == 1 then
           elements.active.value = true
        else
           elements.active.value = false
        end

elements.active.value 中的值用于显示复选框。我想知道是否有一种方法将所有内容合并为一个语句?

编辑1

我正在使用一个 lua 布尔值来设置复选框,所以我不能使用 1。您必须使用 true/false。

我不太关心是否可以使用 1 或 true 来设置值。我更关心保持逻辑相同,但简化代码。

我真正想要的是像 PHP 中那样的东西:

max = array_key_exists ('max', $options) ? $options['max'] : 0;

它将根据 eval 结果使用 $options['max'] 值或 0。

点赞
用户1009479
用户1009479

因为关系操作符(例如 ==)的结果是布尔值,所以你在代码中分配给 elements.active.value 的值就是布尔值。

Lua 参考手册:关系操作符

Lua 中的关系操作符为

==    ~=    <     >     <=    >=

这些操作符的结果总是为 falsetrue

2013-11-21 14:58:28