gpt4 book ai didi

Lua三元运算符-多变量

转载 作者:行者123 更新时间:2023-12-03 04:47:13 28 4
gpt4 key购买 nike

假设如果某个条件为真,我想为两个变量分配两个值,如果所述条件为假,则我想为两个不同的值分配两个不同的值。我假设它会像这样完成:

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

然而,这将 a 指定为 false,并将 b 指定为 2。如果我们有:

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

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

我在这里缺少什么,如何让“三元运算符”按我的预期工作?

最佳答案

你错过了 Lua 的 andor是快捷方式,逗号在层次结构中处于较低位置。基本上这里发生的事情是首先 4 > 5 and 1评估为 false2 or 3评估为 24被忽略。第二种情况4 < 5true ,因此4 < 5 and 11 ,其余保持原样。

正如 Egor Skriptunoff 建议的那样,你可以这样做

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

相反。

关于Lua三元运算符-多变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25362528/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com