Lua: store unspecified number of items in return value
function foo()
return "a", "b", "c"
end
function bar()
return foo()
end
function process()
-- ...
end
function bar_store()
local v = foo()
process()
r开发者_StackOverfloweturn v
end
print(bar()) -- A
print(bar_store()) -- B
Result:
a b c -- A
a -- B
How can I make B version act like a A version? In "bar_store" I need to call function than may return any number of return values, but I need to do some work after function call ("process" in my example)
OK, answering your own question is a little bit lame, but:
function bar_store()
local v = {foo()}
process()
return unpack(v)
end
精彩评论