加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Lua三元运算符 – 多个变量

发布时间:2020-12-14 21:46:32 所属栏目:大数据 来源:网络整理
导读:假设我想在某个条件为真时为两个变量分配两个值,如果所述条件为假则为两个不同的值.我会假设它会这样做: a,b = 4 5 and 1,2 or 3,4 然而,这指定为假,b为2. 如果我们有: a,b = 4 5 and 1,4 这正确地指定a为1,b为2. 我在这里错过了什么,如何让“三元运算符”
假设我想在某个条件为真时为两个变量分配两个值,如果所述条件为假则为两个不同的值.我会假设它会这样做:

a,b = 4 > 5 and 1,2 or 3,4

然而,这指定为假,b为2.
如果我们有:

a,b = 4 < 5 and 1,4

这正确地指定a为1,b为2.

我在这里错过了什么,如何让“三元运算符”像我期望的那样工作?

解决方法

你错过了Lua的和/或是短切,逗号在层次结构中较低.基本上这里发生的是前4个>将5和1评估为假,将2或3评估为2,忽略4.在第二种情况下,4< 5是正确的,因此4< 5和1是1,其余的保持原样. 正如Egor Skriptunoff建议你做的那样

a,b = unpack(4 > 5 and {1,2} or {3,4})

代替.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读