开发者

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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜