table:
t =
table.insert(t, 1, 15)
t 就變成了
如果沒有第二個引數,就自動新增到table末尾
table.remove(t, 1)
t 就變回了
table.sort(tablename,sortfunc)
排序,第二個引數是乙個函式有兩個引數,返回true或false,true的話第乙個引數在前
table.concat()
將乙個字串table連線成乙個完整的字串,第二個可選引數填寫連線符,第三第四個可選引數用於指定第乙個和最後乙個要連線的字串索引
table.maxn(table)
返回指定table中所有正數key值中最大的key值. 如果不存在key值為正數的元素, 則返回0. 此函式不限於table的陣列部分
table.foreachi(table, function(i, v))
會期望乙個從 1(數字 1)開始的連續整數範圍,遍歷table中的key和value逐對進行function(i, v)操作
table.foreach(table, function(i, v))
與foreachi不同的是,foreach會對整個表進行迭代
table.getn(table)
返回table中元素的個數
table.setn(table, nsize)
設定table中的元素個數
math:
常用的數學庫如:sin.asin.deg…
隨機數:math.random()無引數時生成[0,1)的隨機數,整數引數的話生成[1,引數]的整數隨機數;math.randomseed(seed) 使用種子生成隨機數
string:
lua中的字串都是不可變的,以下函式都是返回乙個新字串
string.upper(s) 等價於 s:supper()
string.upper(s) 返回字串s轉換成大寫的副本
string.lower(s) 返回字串s轉換成小寫的副本
string.len(s) 返回字串s的長度
string.rep(s,n) 返回字串s重複n此的結果
string.sub(s,i,j) 從字串s中提取第i個到第j個字元(負數索引代表從字串尾部開始計算,-1代表左後乙個字元,-2代表倒數第二個),j可不填,不填預設-1
string.byte(s, i) 返回字串s中第i個字元的內部數值表示
string.char(num) 將數值轉化成對應的字元
string.formate()格式化字元,見例1,%d 十進位制數,%x 十六進製制,%o 八進位制數,%f浮點數,%s字串
模式相關:
string.find(s, s1, index)返回兩個值,匹配到的起始索引和結尾索引,如果沒有找到,返回nil;此方法可以跟string.sub配合來提取目標字串.index可忽略,表示從第幾個位置開始搜尋
string.match() 引數和find類似,返回與模式相匹配的那部分子串,此函式還有捕獲功能,即在模式中新增(),見例子。另外string.match(s, 「()匹配字元()」)相當於string.find(s,匹配字元)
string.gsub(s, s1, s2) 引數為目標字串,模式,替換字串。作用是將目標字串中所有出現模式的地方替換為目標字串。可選的第四個引數,限制替換的次數。返回兩個值,第乙個是修改過的字串,第二個是統計替換的次數。其中第三個引數也可以是乙個函式或者乙個table,函式的話gsub會在每次找到匹配時呼叫,並替換它的返回值,將捕獲到的內容作為引數傳遞給這個函式;如果是table的話,會將捕獲的內容作為key,查詢table中的value
string.gmatch() 返回乙個函式,通過這個函式可以遍歷到乙個字串中所有出現指定模式的地方,一般用在for迴圈中。兩個引數,第乙個是目標字串,第二個是匹配模式。
模式:
大寫表示它們的補集;
[ ]中括號可表示乙個字符集,裡面填寫所有符合的內容,-表示範圍,比如八進位制數[0-7] ,加上^表示該字符集的補集,如[^0-7]
%%表示%本身,%,.表示.
+*總是匹配最多次,-匹配最少次數(經常是0次)
如果模式以^開頭,則它只會匹配目標字串的開頭部分
如果模式以$結尾,那麼它只會匹配目標字串的結尾部分
%b 匹配成對的字元,入%b()匹配一對圓括號和裡面的任何內容
%0 表示整個匹配,%1表示匹配第乙個捕獲的部分,以此類推
例1:
string.format(「pi = %.4f」, math.pi)) –> pi = 3.1416
string.format(「%02d/%02d/%04d」, 5, 11, 1990)) –> 05/11/1990
string.format(「<%s>%s
Lua 函式 函式
在lua中,函式是一種對語句和表示式進行抽象的主要機制。函式既可以完成某項特定的任務,也可以只做一些計算並返回結果。lua具有一項非常於總不同的特徵,允許函式返回多個結果 s,e string.find hello lua users lua print s,e 7 9 以lua編寫的函式同樣可以返...
Lua基礎學習 Lua函式
函式主要用途 1 是作為呼叫語句使用。2 作為賦值語句的表示式使用。語法 區域性 全域性 function fun name 引數列表 函式體endfunction 定義函式關鍵字注意 1 在使用 lua 函式 變數時一定要先定義函式 變數 2 lua 函式不支援引數預設值,可以使用 or 解決。如...
lua學習 lua函式理解
詞法定界指 巢狀的函式可以訪問他外部函式中的變數。第一類值指 可以被存放在變數中,也可以存放在表中,可以作為函式的引數,還可以作為函式的返回值。的值function foo x return 2 x end這段 實際上就等效於 foo function x return 2 x end所以實際上lu...