Lua中的函數(shù)代碼實例
在lua中,函數(shù)是一種“第一類值”,它們具有特定的詞法域。
第一類值:表示在lua中,函數(shù)與其他傳統(tǒng)類型的值(數(shù)字和字符串)具有相同的權(quán)利,函數(shù)可以存儲到變量中(無論全局變量還是局部變量)或者是table中,可以作為實參傳遞給其他函數(shù),還可以作為其他函數(shù)的返回值。
詞法域:是指一個函數(shù)可以嵌套在另一個函數(shù)中。內(nèi)部的函數(shù)可以訪問外部函數(shù)中的變量。
看例子代碼:
do
function foo(a, b, c)
print(a, b, c);
end
local c = foo;
c(2, 3, 4);
end
輸出的結(jié)果是:2, 3, 4
例子:
do
function derivative(f, delta)
delta = delta or 0.01
print("delta: ", delta);
return function (x)
return (f(x + delta) - f(x)) / delta
end
end
local c = derivative(math.sin)
print(math.cos(10), c(10))
end
在上面的例子中,
c = function(x) return (math.sin(x + 0.1) -math.sin(x)) / 0.01
因為:
local c = derivative(math.sin)
將:
f = math.sin
相關(guān)文章
使用lua實現(xiàn)php的var_dump()函數(shù)功能
小編比較熟悉php,所以這篇文章主要介紹了使用lua實現(xiàn)php的var_dump()函數(shù)功能,需要的朋友可以參考下2014-11-11Lua中的控制結(jié)構(gòu)(流程控制)簡明總結(jié)
這篇文章主要介紹了Lua中的控制結(jié)構(gòu)(流程控制)簡明總結(jié),本文講解了IF、repeat、while、for、break、return等語句,需要的朋友可以參考下2014-10-10