会将功能的结果分配给变量,破坏了尾部优化的机会



每当我有一个函数在另一个末端打电话时,我总是将其称为与返回相同的行,例如 return foo(x)

将结果分配给变量botch是否有任何尾巴优化的可能性?这样,

function(...)
    ...
    tmp = foo(x)
    return tmp
end

来自http://www.lua.org/pil/6.3.html: In Lua, only a call in the format return g(...) is a tail call.

因此,在这种情况下,您缺少尾巴调用优化。

最新更新