Lua初识之表和函数
-----表和函数放在一起
lib = {}
lib.foo = function(x, y)
return x + y
end
lib.goo = function( x, y)
return x - y
end
print(lib.foo(3, 5)) --> 8
print(lib.goo(3, 5)) --> -2
---------------------------
--------使用表构造函数
lib = {
foo = function(x, y) return x + y end,
goo = function(x, y) return x - y end
}
print(lib.foo( 3, 5)) --> 8
print(lib.goo( 3, 5)) --> -2
---------------------------
lib ={}
function lib.foo(x, y)
return x + y
end
function lib.goo(x, y)
return x - y
end
print(lib.foo(3, 5)) --> 8
print(lib.goo(3, 5)) --> -2
----------------------------
-----尾调函数
--[[
do
function f(x)
return g(x) --> 此种用法为尾调函数,即返回值调用 其他函数
end
function ff(x)
g(x)
return --> 此种不属于尾掉函数,
end
function g(n)
return n
end
print(f(5))
end
--]]
----> 如上 f()的调用是尾调用,例子中f调用g不会在做任何事情,这种情况
下被调用函数g结束时程序不需要
返回调动者f,所以尾调用之后,程序不需要在栈中保留关于调用者的任何信息,
由于尾调用不需要使用栈空间,那么尾调用递归的层次可以无限制的,不
会导致栈溢出
-------------------------
Lua初识之表和函数-十三
于 2014-12-27 17:48:11 首次发布