gpt4 book ai didi

Lua嵌套解包错误?

转载 作者:行者123 更新时间:2023-12-04 21:35:10 26 4
gpt4 key购买 nike

题:

我试图将一个数组解包到一个数组中,但它只有在解包的最后一个项目时才有效,如果在它之后只有第一个元素被解包。以下是我正在尝试做的一个非常基本的例子。有没有更好的方法来做到这一点,或者这是一个我必须应对的错误?我不想使用 table.insert 因为这似乎更具可读性,在表的定义中添加类似解包的东西。

代码:

   print ("Error 1")
local table1 = { {1,1}, {2,2}, {3,3} }
local table2 = { {0,0}, unpack (table1), {4,4} }
for n,item in ipairs (table2) do print (unpack(item)) end

print ("Good")
table1 = { {1,1}, {2,2}, {3,3} }
table2 = { {0,0}, unpack (table1) }
for n,item in ipairs (table2) do print (unpack(item)) end

print ("Error 2")
table1 = { {1,1}, {2,2}, {3,3} }
table2 = { {0,0}, unpack (table1), unpack (table1) }
for n,item in ipairs (table2) do print (unpack(item)) end

输出:
Error 1
0 0
1 1 -- {2,2} & {3,3} cut off.
4 4
Good
0 0
1 1 -- All elements unpacked.
2 2
3 3
Error 2
0 0
1 1 -- {2,2} & {3,3} cut off.
1 1 -- All elements unpacked.
2 2
3 3

笔记:

我正在运行 5.1 版。

最佳答案

这不是错误。如果调用不是最后一个,则返回多个值的函数调用将调整为第一个值。手册上说在 http://www.lua.org/manual/5.1/manual.html#2.5

关于Lua嵌套解包错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5112954/

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