function foo()
return "a", "b", "c"
end
function bar()
return foo()
end
function process()
-- ...
end
function bar_store()
local v = foo()
process()
return v
end
print(bar()) -- A
print(bar_store()) -- B
结果:
a b c -- A
a -- B
如何使B版本像A版本一样?在“bar_store”中我需要调用函数而不是返回任意数量的返回值,但是我需要在函数调用之后做一些工作(在我的例子中为“process”)
答案 0 :(得分:6)
好的,回答你自己的问题有点蹩脚,但是:
function bar_store()
local v = {foo()}
process()
return unpack(v)
end