标签: lua
我想知道
function foo() do something return bar() end
和
function foo() do something bar() end
答案 0 :(得分:4)
两个主要区别。
第一个将从bar返回的值返回给foo的调用者。第二个完全忽略了它们。
bar
foo
第一个也被视为尾调用,因此可以消除以保存堆栈帧(防止递归炸毁堆栈)而第二个不会。