佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Lua所有內(nèi)置函數(shù)羅列

Lua所有內(nèi)置函數(shù)羅列

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 服務(wù)外包 百度競價排名 AI電銷 Linux服務(wù)器 地方門戶網(wǎng)站 呼叫中心市場需求 鐵路電話系統(tǒng)

在大多數(shù)Lua語法分析中可以獲得這些標(biāo)準(zhǔn)Lua函數(shù). 無可爭辯, 我們可以查閱Lua網(wǎng)站, 但是一些少了的函數(shù)被Blizzard進行了調(diào)整. 下面列出了所有Lua函數(shù).

WoW API中的Lua注意在WoWAPI沒有提供所有標(biāo)準(zhǔn)的Lua函數(shù), 很顯然, 操作系統(tǒng)以及文件I/O庫是不支持的

Lua函數(shù)這些函數(shù)都是Lua編程語言的一部分, 點擊這里了解更多.

•assert(value) - 檢查一個值是否為非nil, 若不是則(如果在wow.exe打開調(diào)試命令)顯示對話框以及輸出錯誤調(diào)試信息
•collectgarbage() - 垃圾收集器. (新增于1.10.1)
•date(format, time) - 返回當(dāng)前用戶機器上的時間.
•error("error message",level) - 發(fā)生錯誤時,輸出一條定義的錯誤信息.使用pcall() (見下面)捕捉錯誤.
•gcinfo() - 返回使用中插件內(nèi)存的占用量(kb)以及當(dāng)前垃圾收集器的使用量(kB).
•getfenv(function or integer) - 返回此表已獲取函數(shù)的堆棧結(jié)構(gòu)或者堆棧等級
•getmetatable(obj, mtable) - 獲取當(dāng)前的元表或者用戶數(shù)據(jù)對象.
•loadstring("Lua code") - 分析字符串中的lua代碼塊并且將結(jié)果作為一個函數(shù)返回
•next(table, index) - 返回下一個key,一對表值.允許遍歷整個表
•pcall(func, arg1, arg2, ...) - 受保護調(diào)用. 執(zhí)行函數(shù)內(nèi)容,同時捕獲所有的異常和錯誤.
•select(index, list) - 返回選擇此列表中的商品數(shù)值.或者是此件物品在列表中的索引值
•setfenv(function or integer, table) - 設(shè)置此表已獲取函數(shù)的堆棧結(jié)構(gòu)或者堆棧等級
•setmetatable(obj, mtable) - 設(shè)置當(dāng)前表的元表或者用戶數(shù)據(jù)對象
•time(table) - 返回從一個unix時間值
•type(var) - 判斷當(dāng)前變量的類型, "number", "string", "table", "function" 或者 "userdata".
•unpack(table) - 解壓一個表.返回當(dāng)前表中的所有值.
•xpcall(func, err) - 返回一個布爾值指示成功執(zhí)行的函數(shù)以及調(diào)用失敗的錯誤信息.另外運行函數(shù)或者錯誤的返回值

數(shù)學(xué)函數(shù)這些表函數(shù)同樣可以參考Lua函數(shù)庫(他們都是以math.開頭, 詳情參閱數(shù)學(xué)庫了解更多信息).

三角函數(shù)是沒有參考的, 包括角度->弧度的轉(zhuǎn)換.暴雪的版本使用角度.而Lua的標(biāo)準(zhǔn)數(shù)學(xué)庫則使用的弧度.

•abs(value) - 返回當(dāng)前數(shù)值的絕對值
•acos(value) - 返回此角度值的弧余弦值.
•asin(value) - 返回此角度值的弧正弦值
•atan(value) - 返回此角度值的弧正切值
•atan2(y, x) - 在角度中, 返回Y/X的弧正切值.
•ceil(value) - 返回一個整數(shù), 不管小數(shù)點后面是多少, 整數(shù)部分都進1
•cos(degrees) - 返回角度的余弦值
•deg(radians) - 弧度轉(zhuǎn)換角度
•exp(value) - 返回此值的指數(shù)值
•floor(value) - 返回此值的整數(shù)值
•frexp(num) - 返回當(dāng)前數(shù)字小數(shù)點后的數(shù)值以及小數(shù)點后的位數(shù)
•ldexp(value, 倍數(shù)) - 輸出此數(shù)值的倍數(shù)
•log(value) - 返回此值的自然對數(shù) (以e為底數(shù))
•log10(value) - 返回以10為底數(shù)的值
•max(value[, values...]) - 在一堆值中查找最大值
•min(value[,values...]) - 在一堆值中查找最小值
•mod(value,modulus) - 返回此值的余數(shù)
•rad(degrees) - 角度轉(zhuǎn)換弧度
•random([ [lower,] upper]) - 返回一個隨機數(shù)字 (可選界限為整數(shù)值)
•randomseed(seed) - 為偽隨機數(shù)字生成器設(shè)定種子
•sin(degrees) - 返回當(dāng)前角度的正弦值
•sqrt(value) - 返回數(shù)值的平方根值(比如100的平方根為10)
•tan(degrees) - 返回當(dāng)前角度的正切值

字符串庫這些表函數(shù)同樣可以參考Lua字符串庫(他們都是以string.開頭, 參考字符串庫了解更多信息)

•format(formatstring[, value[, ...]]) - 格式化字符串
•gsub(string,pattern,replacement[, limitCount]) - 全局替換
•strbyte(string[, index]) - 轉(zhuǎn)換字符串為整數(shù)值(可以指定某個字符).
•strchar(asciiCode[, ...]) - 轉(zhuǎn)換整數(shù)為相對應(yīng)的字符
•strfind(string, pattern[, initpos[, plain]]) - 在一個指定的目標(biāo)字符串中搜索指定的內(nèi)容(第三個參數(shù)為索引),返回其具體位置.
•strlen(string) - 返回當(dāng)前字符串的字符數(shù)
•strlower(string) - 將字符串的字母轉(zhuǎn)換為小寫格式
•strmatch(string, pattern[, initpos]) - 與strfind不同的是,macth返回的是具體值,而find返回的是此值的位置
•strrep(seed,count) - 返回一個字符串種子副本的個數(shù)
•strsub(string, index[, endIndex]) - 返回字符串指定位置的值.
•strupper(string) - 將字符串的字母轉(zhuǎn)為大寫格式
•tonumber(arg[, base]) - 若參數(shù)能轉(zhuǎn)為數(shù)字則返回一個數(shù)值.可以指定轉(zhuǎn)換的類型.默認(rèn)為十進制整數(shù)
•tostring(arg) - 轉(zhuǎn)換參數(shù)為字符串
下面的字符串函數(shù)是wow獨有的
•strtrim(string) - 去除字符串前后空格
•strsplit(delimiter, string) - 分割字符串
•strjoin(delimiter, string, string[, ...]) - 根據(jù)定界符將字符串連接起來

表函數(shù)這些表函數(shù)同樣可以參考Lua表庫 (他們都是以"table.開頭", 查閱Table庫 f了解更多信息).

也知道, 很多表都被設(shè)計為只有數(shù)字索引, 開始于1并且沒有結(jié)尾(如like {[1] = "foo", [3] = "bar"} --- [2]是不存在的所以為nil值).工作時,與任何其他表并沒有差別,但很可能會產(chǎn)生意想不到的結(jié)果. 在編寫lua中, 這個也就是通常所說的bug
•foreach(table,function) - 為表中的每個元素執(zhí)行函數(shù)
•foreachi(table,function) - 為表中的每個元素執(zhí)行函數(shù), 按順序訪問(不推薦, 可以使用ipairs代替)
•getn(table) - 當(dāng)作為一個聊表時, 返回當(dāng)前表的大小. 現(xiàn)在已經(jīng)廢棄了, 你可以直接使用#符號.使用#(table)代替table.getn(table)
•ipairs(table) - 返回一個迭代型整數(shù)遍歷表。
•pairs(table) - 返回一個迭代遍歷表
•sort(table[, comp]) - 對一個數(shù)組進行排序, 還可以指定一個可選的次序函數(shù)
•tinsert(table[, pos], value) - 將一個元素插入指定的位置(默認(rèn)在表的最后)
•tremove(table[, pos]) - 刪除指定位置的元素(默認(rèn)表最后一個)

Bit Functions魔獸世界包含了Lua BitLib庫(他們都是以 "bit."開頭). 與C的位運算相同.位運算庫并非Lua標(biāo)準(zhǔn)函數(shù)庫的一部分, 但是在WoW 1.9中得到了應(yīng)用
•bit.bnot(a) - 返回一個a的補充
•bit.band(w1,...) - 返回w的位與
•bit.bor(w1,...) - 返回w的位或
•bit.bxor(w1,...) - 返回w的位異或
•bit.lshift(a,b) - 返回a向左偏移到b位
•bit.rshift(a,b) - 返回a邏輯右偏移到b位
•bit.arshift(a,b) - 返回a算術(shù)偏移到b位
•bit.mod(a,b) - 返回a除以b的整數(shù)余數(shù)
Lua是一個腳本語言, 使用這些函數(shù)來對你的數(shù)據(jù)結(jié)構(gòu)進行比對是十分慢的. 除非你有一個非常大的數(shù)據(jù)庫以及需要保護的RAM使用, 保存你的信息到幾個或個別的變量中.

筆記•所有的字符都有他們的元表設(shè)置到全局字符串表, 因此一些字符串函數(shù)可以直接寫在冒號前面進行調(diào)用: 

復(fù)制代碼 代碼如下:

   1 local s = string.format(input, arg1, arg2, ...)
   2
   3 -- 可以寫成這樣
   4 local s = input:format(arg1, arg2, ...)  -- input將作為第一個參數(shù), 復(fù)制到代碼上, 這就是冒號語法

•這同樣可以使用在字符串上, "%d":format(arg1)不是有效的lua代碼,你可以寫成

復(fù)制代碼 代碼如下:

   1 ("%d"):format(arg1)

•自從使用字符串表, 一些函數(shù)放在字符串表里也是同樣可以工作的, 下面的例子是有效的:
復(fù)制代碼 代碼如下:

   1 function string.print(a)
   2  return print(a)
   3 end
   4 ("test"):print()

雖然你應(yīng)盡量避免填充字符串表與你的函數(shù)。

相關(guān)資源你還可以參閱Lua了解更多Lua開發(fā)資料.

標(biāo)簽:銅川 黃山 仙桃 衡水 湖南 湘潭 崇左 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Lua所有內(nèi)置函數(shù)羅列》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    大厂| 连南| 定安县| 故城县| 乌拉特前旗| 武功县| 紫云| 灵台县| 津市市| 从江县| 大姚县| 子洲县| 商南县| 壶关县| 英山县| 神木县| 偏关县| 聂荣县| 八宿县| 平阳县| 昌图县| 榆社县| 临海市| 新兴县| 婺源县| 重庆市| 葫芦岛市| 沈阳市| 枣强县| 高碑店市| 乃东县| 井研县| 宁河县| 萝北县| 商河县| 米脂县| 子长县| 左权县| 罗江县| 灵台县| 常宁市|