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 返回一个函数,通过这个函数可以遍历到一个字符串中所有出现的指定模式的地方
如有错误请及时联系改正,谢谢!