gpt4 book ai didi

lua多重赋值

转载 作者:行者123 更新时间:2023-12-04 22:09:58 24 4
gpt4 key购买 nike

在 lua 中是否有任何多重赋值的方式,使得右侧的缺失值不被视为 nil ?

类似于

     a,b,c = 1

但得到
     a = 1, b = 1, c = 1

结果。

很遗憾,
    a = b = c = 1

不起作用。

我需要这个,因为我可能在右侧有复杂的表格,我想保持简短和简单(没有任何额外的变量)。

最佳答案

不。

你的第一个例子(多重赋值)已经有明确定义的语义,所以 Lua 需要一个额外的运算符/关键字/东西来表明对不同语义的渴望(重复最后一个 r 值)。它没有。

您的第二个示例(将赋值链接在一起,ala C)要求赋值是表达式,而在 Lua 中它们是语句。

您可以获得的最接近的是定义一个函数,该函数将一个值插入堆栈多次:

function push(x)
return x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x
end

那你可以说:
a,b,c,d,e,f,g = push(t)

但这很笨拙。

出于好奇,为什么您需要在同一范围内对同一张表进行一堆不同的引用?

关于lua多重赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10842679/

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