1、数学库
math.random方法,如果不传递参数则返回[0,1)之间的随机数,如果给定一个整数,比如random(n)则返回1到m的整数随机数,如果调用random(n, m)则返回n到m的随机数
randomseed是一个随机种子,表示随机函数random使用这个随机种子来生成随机数
还有其他的一些math库的函数详见函数
2、table库
table.insert 对一个数组table插入内容
table.insert(t, v) 是向数组最后插入内容
table.insert(t,pos,v) 是向数组指定的pos插入内容
table.remove(t) 不指定参数,删除数组最后一个内容,并返回这个内容
table.remove(t,1) 从数组顶端删除一个内容,并返回,当然这个1可以改成任意的pos
table.sort(t) 对数组排序
table.concat(t, splitv) 让数组分隔成字符串
3、字符串库
string.len(s) 发挥字符串的长度
string.rep(‘a’, 2^20) 创建一个1MB的字符串
string.lower(s) 和 string.upper 返回小写或大写的字符串
string.sub(s,i,j) 例如
s = “[in brackets]”
print(s:sub(2,-2)) –in brackets
print(s:sub(2,12)) –in brackets
string.char() 和string.byte() 是字符串和ascii码的转换
4、字符串匹配
string.find()
string.match()
date = “today is 17/7/1990”
d = string.match(date, “%d+/%d+/%d+”)
print(d) –17/7/1990
string.gsub(“lua is cute”, “cute”, “great”) –lua is great
string.gsub(“all lii”, “l”, “x “) –axx xii
还有第四个参数,用来设置替换次数,1表示1此,没有表示全部
lua中字符串匹配模式如下表:
以上这些模式的大写形式表示其补集,例如%a表示字母,而%A表示所有非字母
匹配修饰
例子:
5、OS库
os时间库
实例:
如果需要mm/dd/yyyy可以使用 %m/%d/%y即可
os.getenv(“HOME”) 获得lua的环境变量
os.execute() – 执行os上的commond命令
6、调试库