的Lua:在返回值项目的商店数目不详
问题描述:
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版的行为像一个版本?在“bar_store”中我需要调用函数,可能会返回任意数量的返回值,但是我需要在函数调用之后做一些工作(在我的示例中为“process”)
答
好的,回答你自己的问题有点跛脚,但:
function bar_store()
local v = {foo()}
process()
return unpack(v)
end
如果你找到答案,那么你找到了它。 – Puppy
它发生了。给自己一张支票,让它显示为正在回答。 – BMitch
不需要创建临时表来存储foo()的返回值。您可以执行以下操作:return process(foo()) – sylvanaar