lua初学者,看programming in lua一书中写道:“Lua中类似return g(...)这种格式的调用是尾调用。但是g和g的参数都可以是复杂表达式,因为Lua会在调用之前计算表达式的值。例如下面的调用是尾调用:return x[i].foo(x[j] + a*b, i + j)”
但是,另外几个例子中却不是尾调用,如下都不是尾调用
return g(x) + 1 -- must do the addition
return x or g(x) -- must adjust to 1 result
return (g(x)) -- must adjust to 1 result
求解释区别???