一个奇怪的Lua赋值,莫非是BUG?

Altman 发布于 2015/06/12 14:48
阅读 408
收藏 0
Lua

今天发现同事的lua代码里写了一段类似一下的代码, 结果引发了BUG:

function foo()
    return "a", "b"
end

function bar()
    return "c"
end

local a, b, c = foo(), bar()
local d, _, f = foo(), bar()

print(a, b, c)
print(d, f)
print(foo(), bar())



他写的是类似
local d, _, f = foo(), bar()

这样一句,由于我没有将不相关变量一起赋值的习惯(foo和bar属不同功能的函数),所以我之前也没有这样写过,然后我发现Lua会强制让逗号连接的多个赋值函数只输出一个返回值,手动强制用‘()’就行了,但是这自动强制有点坑爹啊。。是我理解错误还是本身就是这样?

加载中
返回顶部
顶部