1、math.random 用於生成偽隨機數 1、不提供引數 返回乙個區間[0,1)內均勻分布的偽隨機實數
2、引數n 返回區間[1,n]內的偽隨機數
3、同理。引數m和n [m,n]
2、randomseed 用於設定偽隨機數生成器的種子數,它的唯一引數就是這個種子數。
對於乙個遊戲來說每次都會得到相同的場景,對此使用當前時間作為種子數:
math.randomseed(os.time()) os.time()返回當前時間的數字,這個數字表示從某個時間點開始開始至今的秒數。
3、字串庫
string.len
獲取字串長度
string.upper 小寫轉換成大寫字母
string.lower 大寫轉換成小寫字母
string.rep(s,n) 返回字串s重複n次的結果
string.sub(s,i,j)
提取s字串從i到j的字串1、(s,1,j)提取從第1位開始到長度為j的部分 2、(s,j,-1)提取從j個字串開始到結束的部分
eg:(s,2,-2)從第二個開始到倒數第二個的部分
string.byte
用於轉換字元和內部數值表示 (還可接受三個引數(s,i,j)返回i到j區間的所有字元的表示值)包括ij
eg: print(string.byte("abc")) >>>97
print(string.byte("abc",2)) >>>98
print(string.byte("abc",-1)) >>>99
string.char
同上 print(string.char(97)) >>> a
(string.byte和string.char 實現 ==>> (ascii轉換))
string.format 格式化字串 eg:%d 十進位制 %x 十六進製制 %o 八進位制
eg:print(string.format("pi = %.4f",math.pi)) >>> pi = 3.1416
模式匹配
string.find 給定目標字串找到相同的字串 找到模式後返回兩個值乙個起始值乙個結束值
eg:s = "hello world"
i,g = string.find(s,"hello") >>> 1,5 i,g = string.find(s,"l") >>> 3,3
string.match 與find相似,不同之處是返回目標字串與模式匹配的字串,而非該模式所在的位置
local date = "today is 17/3/1563"
d = string.match(date,"%d+/%d+/%d+") print(d) >>> 17/3/1563
string.gsub 有三個引數(
目標字串,模式,替換字串
) 將目標中出現模式的地方替換為替換字串(最後乙個引數)
(可有第四個引數,限制替換次數)
eg: s = string.gsub("lua is great","great","cute") print(s) >>> lua is cute
string.gmatch 返回乙個函式,通過這個函式可以遍歷到乙個字串中所有出現的指定模式的地方
字串和printf函式學習小結
示例 include int main void printf 名字 s性別 s年齡 d n 徐大雁 不明,嘿嘿 2008 printf 徐大雁智商 0.4f n 5.3324887 printf btc t eth t eos t n printf btcc t ethh t eoss t n r...
Lua數學庫(標準庫相關)
在這一章中 下面關於標準庫的幾章中同樣 我的主要目的不是對每乙個函式給出完整地說明,而是告訴你標準庫能夠提供什麼功能。為了能夠清楚地說明問題,我可能會忽略一些小的選項或者行為。主要的思想是激發你的好奇心,這些好奇之處可能在參考手冊中找到答案。數學庫由算術函式的標準集合組成,比如三角函式庫 sin,c...
Lua中的字串函式庫
lua直譯器對字串的支援很有限。乙個程式可以建立字串並連線字串,但不能擷取子串,檢查字串的大小,檢測字串的內容。在lua中操縱字串的功能基本來自於string庫。字串庫中的一些函式是非常簡單的 string.len s 返回字串s的長度 string.rep s,n 返回重複n次字串s的串 你使用 ...