lua程序设计(5) -- 常用库

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、调试库