小编pas*_*off的帖子

Lua:将多个结果从函数传递给表构造函数

我偶然发现了lua的奇怪行为.代码示例:

function foo()
    local t = {'a', 'b', 'c'}
    return unpack(t)
end

function bar()
    local t = {'x', 'y'}
    return unpack(t)
end

b = { foo(), bar() }

for k,v in pairs(b) do
    print(k,v)
end
Run Code Online (Sandbox Code Playgroud)

此代码的结果是:

1   a
2   x
3   y
Run Code Online (Sandbox Code Playgroud)

因此,foo()除第一个元素外,所有结果都被丢弃.问题是,为什么有些元素被丢弃了?我已经简要检查了lua 5.2手册,但我没有看到这种行为的解释.

lua

0
推荐指数
1
解决办法
587
查看次数

标签 统计

lua ×1