函數(shù)的定義是以function關(guān)鍵字開(kāi)始的,后面函數(shù)的名稱,然后是要傳遞給函數(shù)的參數(shù),如果沒(méi)有參數(shù)傳給函數(shù),仍然需要用()來(lái)表示一個(gè)空的參數(shù)列表,以end關(guān)鍵字結(jié)尾。
復(fù)制代碼 代碼如下:
function 函數(shù)名()
...
...
...
end
1. 單一參數(shù)
復(fù)制代碼 代碼如下:
function F_1(var)
print("My website is: " var)
end
參數(shù)var傳遞給了函數(shù),并在函數(shù)中使用,同時(shí),函數(shù)中的參數(shù)是局部變量,在函數(shù)調(diào)用結(jié)束后被收回。
2. 多個(gè)參數(shù)
復(fù)制代碼 代碼如下:
function F_2(var1, var2)
print("My website is: " var1)
print("QQ群: " var2)
end
傳遞多個(gè)參數(shù),用逗號(hào)隔開(kāi)。
3. 可變參數(shù)
Lua還可以定義不定長(zhǎng)的參數(shù)列表,使用(…)來(lái)代替參數(shù)列表。Lua會(huì)創(chuàng)建一個(gè)局部名稱為arg的table,來(lái)保存函數(shù)調(diào)用時(shí)所有傳遞的參數(shù),以及參數(shù)個(gè)數(shù),通過(guò)arg.n來(lái)獲取。
4. 返回值
函數(shù)使用return關(guān)鍵字并跟上變量名來(lái)返回結(jié)果。返回多個(gè)結(jié)果,用逗號(hào)隔開(kāi)。
5. 字符處理函數(shù)string
Lua對(duì)字符處理能力很強(qiáng)大,具有可擴(kuò)展的模式匹配功能和許多使用的字符處理函數(shù)。
5.1 string.len(string)
該函數(shù)告訴字符數(shù)。
復(fù)制代碼 代碼如下:
> s = 'www.jb51.net'
> print(string.len(s))
13
5.2 string.sub(string,start,end)
返回指定字符串的子串。start參數(shù)指定起始位置,end指定結(jié)束位置。
復(fù)制代碼 代碼如下:
> s = 'www.jb51.net'
> ns = string.sub(s,3,6)
> print(ns)
w.tt
也可以指定start參數(shù)為負(fù)數(shù),那么起始位置將從字符串的最后開(kāi)始計(jì)算。
end參數(shù)可以省略,將返回從start到字符串末尾的子串。
5.3 string.format()
格式化輸出指定字符串。
5.4 string.find(source_str,find_str)
該函數(shù)在source_str中查詢第一個(gè)符合find_str字符的位置。如果找到了則返回它的開(kāi)始和結(jié)束位置,沒(méi)有找到返回nil
復(fù)制代碼 代碼如下:
> s="My website: www.jb51.net"
> print(string.find(s,"ttlsa"))
17 21
> print(string.find(s,"w"))
4 4
> print(string.find(s,"xx"))
nil
5.5 string.gsub(source_str, pattern, replacement_str,[num])
string.gsub函數(shù)返回一個(gè)字符串,source_str字符串中匹配pattern的字符都將會(huì)被替換成replacement_str。
復(fù)制代碼 代碼如下:
> s="My website: www.jb51.net"
> print(string.gsub(s,'ttlsa','TTLSA'))
My website: www.jb51.net 1
可以在函數(shù)的最后加一個(gè)可選參數(shù),用來(lái)指定被替換的次數(shù)。
復(fù)制代碼 代碼如下:
> print(string.gsub(s,'w','XXXXXX'))
My XXXXXXebsite: XXXXXXXXXXXXXXXXXX.jb51.net 4
> print(string.gsub(s,'w','XXXXXX',2))
My XXXXXXebsite: XXXXXXww.jb51.net 2
5.6 string.gfind(source_str,pattern)
遍歷一個(gè)字符串,一旦匹配到指定的字符串就返回該子串。
您可能感興趣的文章:- Lua中簡(jiǎn)單的錯(cuò)誤處理實(shí)例
- Lua中的異常處理pcall、xpcall、debug使用實(shí)例
- Lua極簡(jiǎn)入門(mén)指南(三): loadfile和錯(cuò)誤處理
- Lua讀取和寫(xiě)入文件處理例子
- 淺析Lua編程中的異常處理
- lua日志文件處理代碼