一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Lua - Lua所有內置函數羅列

Lua所有內置函數羅列

2020-04-26 10:39腳本之家 Lua

這篇文章主要介紹了Lua所有內置函數羅列,本文匯集了Lua腳本語言的所有內置函數,需要的朋友可以參考下

在大多數Lua語法分析中可以獲得這些標準Lua函數. 無可爭辯, 我們可以查閱Lua網站, 但是一些少了的函數被Blizzard進行了調整. 下面列出了所有Lua函數.

WoW API中的Lua注意在WoWAPI沒有提供所有標準的Lua函數, 很顯然, 操作系統以及文件I/O庫是不支持的

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

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

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

三角函數是沒有參考的, 包括角度->弧度的轉換.暴雪的版本使用角度.而Lua的標準數學庫則使用的弧度.

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

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

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

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

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

Bit Functions魔獸世界包含了Lua BitLib庫(他們都是以 "bit."開頭). 與C的位運算相同.位運算庫并非Lua標準函數庫的一部分, 但是在WoW 1.9中得到了應用
•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算術偏移到b位
•bit.mod(a,b) - 返回a除以b的整數余數
Lua是一個腳本語言, 使用這些函數來對你的數據結構進行比對是十分慢的. 除非你有一個非常大的數據庫以及需要保護的RAM使用, 保存你的信息到幾個或個別的變量中.

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

復制代碼 代碼如下:

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


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

 

 

復制代碼 代碼如下:

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


•自從使用字符串表, 一些函數放在字符串表里也是同樣可以工作的, 下面的例子是有效的:

復制代碼 代碼如下:

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


雖然你應盡量避免填充字符串表與你的函數。

 

相關資源你還可以參閱Lua了解更多Lua開發資料.

延伸 · 閱讀

精彩推薦
  • LuaLua中table庫函數方法介紹

    Lua中table庫函數方法介紹

    這篇文章主要介紹了Lua中table庫函數方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • LuaLua教程(二):基礎知識、類型與值介紹

    Lua教程(二):基礎知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎知識、類型與值介紹,本文講解了Hello World程序、代碼規范、全局變量、類型與值等內容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監控賦值、通過table給另一個table賦值等內容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時講解了lua注釋語法、Lua命令行方式等內容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • LuaLua實現__add方法重載示例

    Lua實現__add方法重載示例

    這篇文章主要介紹了Lua實現__add方法重載示例,本文直接給出實現代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • Lua深入探究Lua中的解析表達式

    深入探究Lua中的解析表達式

    這篇文章主要介紹了深入探究Lua中的解析表達式,對于其語法部分的說明和示例都超詳細,極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結合代碼實例詳細講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
  • LuaLua中計算、執行字符串中Lua代碼的方法

    Lua中計算、執行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計算、執行字符串中Lua代碼的方法,類似JavaScript中eval函數的功能,在Lua中也可以實現,需要的朋友可以參考下 ...

    腳本之家6322020-04-30
主站蜘蛛池模板: 日本色播 | 99视频在线看 | 免费精品99久久国产综合精品 | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 亚洲六月丁香六月婷婷色伊人 | 精品无人乱码一区二区三区 | www.青青操| 欧美视频一 | 我与旗袍老师疯狂床震 | 皇上撞着太子妃的秘密小说 | 欧美人交性视频在线香蕉 | 国产精品视频第一区二区 | 久久永久影院免费 | 2018天天拍拍拍免费视频 | 国内精品久久久久小说网 | 久久精品热在线观看85 | 日本乱中文字幕系列在线观看 | 日本aa大片在线播放免费看 | 成人久久18免费网站入口 | 好奇害死猫在线观看 | 国产精品视频视频久久 | 午夜爱 | 日本在线www| 污网站免费观看在线高清 | 99热人人| 国产欧美亚洲精品第一页青草 | 青青久久精品国产免费看 | yin娃sao货调教情趣用品店 | 插得爽| 亚洲精品乱码久久久久久蜜桃图片 | 亚洲 无码 制服 日韩 | 国产精品久久久久久久牛牛 | 97理伦 | 欧美日韩亚洲区久久综合 | 亚洲色图二区 | 欧美日韩一区二区综合 | 国产成人欧美视频在线 | 国产极品麻豆91在线 | 高清欧美videossexo免费 | 欧美精品日韩一区二区三区 | 欧美日韩国产另类一区二区三区 |