初學(xué)者必備文檔:Lua函數(shù)學(xué)習(xí)筆記
Lua函數(shù)學(xué)習(xí)筆記是本文要介紹的內(nèi)容,內(nèi)容很詳細(xì)的講解了LUA函數(shù)的使用方法,可以讓我們快速的去學(xué)習(xí)。這些函數(shù)都是Lua編程語(yǔ)言的一局部, 點(diǎn)擊這里打聽更多.
assert(value) - 察看一個(gè)值是否為非nil, 若不是則(萬(wàn)一在wow.exe敞開調(diào)試號(hào)召)揭示對(duì)話框以及輸出訛謬調(diào)試消息
collectgarbage() - 草芥采集器. (新增于1.10.1)
date(format, time) - 歸來(lái)目前用戶機(jī)器上的工夫.
error("error message",level) - 發(fā)生訛謬時(shí),輸出一條定義的訛謬消息.利用pcall() (見下面)捕捉訛謬.
gcinfo() - 歸來(lái)利用中插件內(nèi)存的挪借量(kb)以及目前草芥采集器的利用量(kB).
getfenv(function or integer) - 歸來(lái)此表已獲得函數(shù)的堆棧構(gòu)造可能堆棧等級(jí)
getmetatable(obj, mtable) - 獲得體前的元表可能用戶數(shù)據(jù)對(duì)象.
loadstring("Lua code") - 分析字符串中的lua代碼塊并且將收獲作為一個(gè)函數(shù)歸來(lái)
next(table, index) - 歸來(lái)下一個(gè)key,一對(duì)表值.批準(zhǔn)遍歷全副表
pcall(func, arg1, arg2, ...) - 受防御調(diào)用. 厲行函數(shù)內(nèi)容,同時(shí)捉拿所有的失常和訛謬.
select(index, list) - 歸來(lái)抉擇此列表中的商品數(shù)值.可能是此件物品在列表中的索引值
setfenv(function or integer, table) - 設(shè)置此表已獲得函數(shù)的堆棧構(gòu)造可能堆棧等級(jí)
setmetatable(obj, mtable) - 設(shè)置目前表的元表可能用戶數(shù)據(jù)對(duì)象
time(table) - 歸來(lái)從一個(gè)unix工夫值
type(var) - 推斷目前變量的種類, "number", "string", "table", "function" 可能 "userdata".
unpack(table) - 解壓一個(gè)表.歸來(lái)目前表中的所有值.
xpcall(func, err) - 歸來(lái)一個(gè)布爾值指示獲勝厲行的函數(shù)以及調(diào)用失利的訛謬消息.另外運(yùn)行函數(shù)可能訛謬的歸來(lái)值
數(shù)學(xué)函數(shù)
這些表函數(shù)同樣能夠參看Lua函數(shù)庫(kù)(他們都是以math.開始, 詳情參看數(shù)學(xué)庫(kù)打聽更多消息).
三角函數(shù)是未曾參看的, 包括角度->弧度的轉(zhuǎn)換.暴雪的版本利用角度.而Lua的規(guī)范數(shù)學(xué)庫(kù)則利用的弧度.
abs(value) - 歸來(lái)目前數(shù)值的絕對(duì)值
acos(value) - 歸來(lái)此角度值的弧余弦值.
asin(value) - 歸來(lái)此角度值的弧正弦值
atan(value) - 歸來(lái)此角度值的弧正切值
atan2(y, x) - 在角度中, 歸來(lái)Y/X的弧正切值.
ceil(value) - 歸來(lái)一個(gè)整數(shù), 不管小數(shù)點(diǎn)后面是多少, 整數(shù)局部都進(jìn)1
cos(degrees) - 歸來(lái)角度的余弦值
deg(radians) - 弧度轉(zhuǎn)換角度
exp(value) - 歸來(lái)此值的指數(shù)值
floor(value) - 歸來(lái)此值的整數(shù)值
frexp(num) - 歸來(lái)目前數(shù)字小數(shù)點(diǎn)后的數(shù)值以及小數(shù)點(diǎn)后的位數(shù)
ldexp(value, 倍數(shù)) - 輸出此數(shù)值的倍數(shù)
log(value) - 歸來(lái)此值的慷慨對(duì)數(shù) (以e為底數(shù))
log10(value) - 歸來(lái)以10為底數(shù)的值
max(value[, values...]) - 在一堆值中查找最大值
min(value[,values...]) - 在一堆值中查找最小值
mod(value,modulus) - 歸來(lái)此值的余數(shù)
rad(degrees) - 角度轉(zhuǎn)換弧度
random([ [lower,] upper]) - 歸來(lái)一個(gè)隨機(jī)數(shù)字 (可選界限為整數(shù)值)
randomseed(seed) - 為偽隨機(jī)數(shù)字生成器設(shè)定種子
sin(degrees) - 歸來(lái)目前角度的正弦值
sqrt(value) - 歸來(lái)數(shù)值的平方根值(例如100的平方根為10)
tan(degrees) - 歸來(lái)目前角度的正切值
字符串庫(kù)
這些表函數(shù)同樣能夠參看Lua字符串庫(kù)(他們都是以string.開始, 參看字符串庫(kù)打聽更多消息)
format(formatstring[, value[, ...]]) - 款式化字符串
gsub(string,pattern,replacement[, limitCount]) - 大局輪換
strbyte(string[, index]) - 轉(zhuǎn)換字符串為整數(shù)值(能夠指定某個(gè)字符).
strchar(asciiCode[, ...]) - 轉(zhuǎn)換整數(shù)為相對(duì)應(yīng)的字符
strfind(string, pattern[, initpos[, plain]]) - 在一個(gè)指定的目標(biāo)字符串中搜查指定的內(nèi)容(第三個(gè)參數(shù)為索引),歸來(lái)其翔實(shí)位置.
strlen(string) - 歸來(lái)目前字符串的字符數(shù)
strlower(string) - 將字符串的字母轉(zhuǎn)換為小寫款式
strmatch(string, pattern[, initpos]) - 與strfind不同的是,macth歸來(lái)的是翔實(shí)值,而find歸來(lái)的是此值的位置
strrep(seed,count) - 歸來(lái)一個(gè)字符串種子副本的個(gè)數(shù)
strsub(string, index[, endIndex]) - 歸來(lái)字符串指定位置的值.
strupper(string) - 將字符串的字母轉(zhuǎn)為大寫款式
tonumber(arg[, base]) - 若參數(shù)能轉(zhuǎn)為數(shù)字則歸來(lái)一個(gè)數(shù)值.能夠指定轉(zhuǎn)換的種類.默感受十進(jìn)制整數(shù)
tostring(arg) - 轉(zhuǎn)換參數(shù)為字符串
下面的字符串函數(shù)是wow獨(dú)有的
strtrim(string) - 肅清字符串前后空格
strsplit(delimiter, string) - 瓜分字符串
strjoin(delimiter, string, string[, ...]) - 依據(jù)定界符將字符串連接起來(lái)
表函數(shù)
這些表函數(shù)同樣能夠參看Lua表庫(kù) (他們都是以"table.開始", 查閱Table庫(kù) f打聽更多消息).
也懂得, 許多表都被設(shè)計(jì)為只有數(shù)字索引, 開始于1并且未曾結(jié)尾(如like {[1] = "foo", [3] = "bar"} --- [2]是不存在的所感受nil值).工作時(shí),wq.0431wq.com與任何等他表并未曾差異,但很可能會(huì)發(fā)生鬼沒神出的收獲. 在編寫lua中, 這個(gè)也即便等閑所說(shuō)的bug
foreach(table,function) - 為表中的每個(gè)元素厲行函數(shù)
foreachi(table,function) - 為表中的每個(gè)元素厲行函數(shù), 按次序拜會(huì)(不評(píng)比, 能夠利用ipairs輪換)
getn(table) - 當(dāng)作為一個(gè)聊表時(shí), 歸來(lái)目前表的大小. 目前曾經(jīng)丟棄了, 你能夠直接利用#符號(hào).利用#(table)輪換table.getn(table)
ipairs(table) - 歸來(lái)一個(gè)迭代型整數(shù)遍歷表。
pairs(table) - 歸來(lái)一個(gè)迭代遍歷表
sort(table[, comp]) - 對(duì)一個(gè)數(shù)組舉行排序, 還能夠指定一個(gè)可選的次序函數(shù)
tinsert(table[, pos], value) - 將一個(gè)元素插入指定的位置(默認(rèn)在表的最后)
tremove(table[, pos]) - 剔除指定位置的元素(默認(rèn)表最后一個(gè))
Bit Functions
魔獸世界包括了Lua BitLib庫(kù)(他們都是以 "bit."開始). 與C的位計(jì)算雷同.位計(jì)算庫(kù)并非Lua規(guī)范函數(shù)庫(kù)的一局部, 然而在WoW 1.9中獲得了利用
bit.bnot(a) - 歸來(lái)一個(gè)a的賠償
bit.band(w1,...) - 歸來(lái)w的位與
bit.bor(w1,...) - 歸來(lái)w的位或
bit.bxor(w1,...) - 歸來(lái)w的位異或
bit.lshift(a,b) - 歸來(lái)a向左偏移到b位
bit.rshift(a,b) - 歸來(lái)a邏輯右偏移到b位
bit.arshift(a,b) - 歸來(lái)a算術(shù)偏移到b位
bit.mod(a,b) - 歸來(lái)a除以b的整數(shù)余數(shù)
Lua是一個(gè)腳本語(yǔ)言, 利用這些函數(shù)來(lái)對(duì)你的數(shù)據(jù)構(gòu)造舉行比對(duì)是極其慢的. 除非你有一個(gè)極其大的數(shù)據(jù)庫(kù)以及必需防御的RAM利用, 保留你的消息到幾個(gè)或個(gè)別的變量中。
小結(jié):初學(xué)者必備文檔:Lua函數(shù)學(xué)習(xí)筆記的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!