开发者

Lua: store unspecified number of items in return value

开发者 https://www.devze.com 2023-03-22 05:41 出处:网络
function foo() return \"a\", \"b\", \"c\" end function bar() return foo() end function process() -- ... end function bar_store()
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

精彩评论

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