Lua 函数 return

Lua function return

我想知道

之间是否有任何显着差异
function foo()
  do something
  return bar()
end

function foo()
  do something
  bar()
end

两个主要区别。

第一个 returns 值从 bar 返回给 foo 的调用者。第二个完全忽略它们。

第一个也被视为尾调用,因此可以消除以保存堆栈帧(防止递归炸毁堆栈),而第二个则不然。