国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

Lua中的常用函數庫匯總

2024-07-21 23:04:08
字體:
來源:轉載
供稿:網友

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使用, 保存你的信息到幾個或個別的變量中.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 廊坊市| 耒阳市| 建湖县| 扬州市| 保定市| 都昌县| 珠海市| 堆龙德庆县| 盐津县| 亳州市| 海淀区| 宿松县| 珲春市| 左云县| 丹凤县| 随州市| 根河市| 南宁市| 鄂托克前旗| 罗源县| 云安县| 江安县| 礼泉县| 滨州市| 鲁甸县| 永兴县| 阳春市| 大关县| 靖州| 同江市| 齐齐哈尔市| 濮阳县| 卓资县| 万宁市| 木兰县| 外汇| 阿城市| 桦甸市| 穆棱市| 滦南县| 邛崃市|