舉例簡介Lua中函數(shù)的基本用法
更新時間:2015年07月02日 09:22:52 投稿:goldensun
這篇文章主要介紹了舉例簡介Lua中函數(shù)的基本用法,--兩個橫線開始單行的注釋,--[[加上兩個[和]表示多行的注釋--]],需要的朋友可以參考下
復(fù)制代碼 代碼如下:
function fib(n)
if n < 2 then return 1 end
return fib(n - 2) + fib(n - 1)
end
if n < 2 then return 1 end
return fib(n - 2) + fib(n - 1)
end
復(fù)制代碼 代碼如下:
-- 支持閉包及匿名函數(shù):
function adder(x)
-- 調(diào)用adder時,會創(chuàng)建用于返回的函數(shù),并且能記住變量x的值:
return function (y) return x + y end
end
a1 = adder(9)
a2 = adder(36)
print(a1(16)) --> 25
print(a2(64)) --> 100
function adder(x)
-- 調(diào)用adder時,會創(chuàng)建用于返回的函數(shù),并且能記住變量x的值:
return function (y) return x + y end
end
a1 = adder(9)
a2 = adder(36)
print(a1(16)) --> 25
print(a2(64)) --> 100
復(fù)制代碼 代碼如下:
-- 返回值、函數(shù)調(diào)用和賦值都可以使用長度不匹配的list。
-- 不匹配的接收方會被賦為nil;
-- 不匹配的發(fā)送方會被忽略。
-- 不匹配的接收方會被賦為nil;
-- 不匹配的發(fā)送方會被忽略。
x, y, z = 1, 2, 3, 4
-- 現(xiàn)在x = 1, y = 2, z = 3, 而 4 會被丟棄。
復(fù)制代碼 代碼如下:
function bar(a, b, c)
print(a, b, c)
return 4, 8, 15, 16, 23, 42
end
print(a, b, c)
return 4, 8, 15, 16, 23, 42
end
x, y = bar('zaphod') --> prints "zaphod nil nil"
-- 現(xiàn)在 x = 4, y = 8, 而值15..42被丟棄。
復(fù)制代碼 代碼如下:
-- 函數(shù)是一等公民,可以是局部或者全局的。
-- 下面是等價的:
function f(x) return x * x end
f = function (x) return x * x end
-- 下面是等價的:
function f(x) return x * x end
f = function (x) return x * x end
復(fù)制代碼 代碼如下:
-- 這些也是等價的:
local function g(x) return math.sin(x) end
local g; g = function (x) return math.sin(x) end
-- 'local g'可以支持g自引用。
local function g(x) return math.sin(x) end
local g; g = function (x) return math.sin(x) end
-- 'local g'可以支持g自引用。
復(fù)制代碼 代碼如下:
-- 順便提一下,三角函數(shù)是以弧度為單位的。
復(fù)制代碼 代碼如下:
-- 用一個字符串參數(shù)調(diào)用函數(shù),不需要括號:
print 'hello' --可以工作。
print 'hello' --可以工作。
相關(guān)文章
Lua教程(一):簡介、優(yōu)勢和應(yīng)用場景介紹
這篇文章主要介紹了Lua教程(一):簡介、優(yōu)勢和應(yīng)用場景介紹,本文是Lua教程系列文章的第一篇,需要的朋友可以參考下2015-04-04Lua 學(xué)習(xí)筆記之C API 遍歷 Table實現(xiàn)代碼
這篇文章主要介紹了Lua 學(xué)習(xí)筆記之C API 遍歷 Table實現(xiàn)代碼,需要的朋友可以參考下2014-12-12Openresty服務(wù)器使用lua腳本寫的Hello World簡單實例
這篇文章主要介紹了Openresty服務(wù)器使用lua腳本寫的Hello World簡單實例,OpenResty (也稱為 ngx_openresty)是一個全功能的 Web 應(yīng)用服務(wù)器。它打包了標(biāo)準(zhǔn)的 Nginx 核心,很多的常用的第三方模塊,以及它們的大多數(shù)依賴項,需要的朋友可以參考下2015-04-04