尾调函数.lua 279 字节
Newer Older
独孤过's avatar
独孤过 已提交
1 2 3
--[[
	函数的尾调用
	函数返回结果是调用单个函数,称之为尾调函数
独孤过's avatar
独孤过 已提交
4
	先从栈空间弹出当前函数,再调用尾调函数,从而降低函数调用过程的栈消耗
独孤过's avatar
独孤过 已提交
5 6 7 8 9 10 11 12 13 14
--]]
function factorial(n, temp)
	temp = temp or 1
	if n <= 1 then
		return temp
	end
	return factorial(n - 1, temp * n)
end

print(factorial(5))