Lua笔记4

1. 字符串标准库
string.len()等价于
string.sub()的参数可以是负数,代表从末尾倒数计数。
string.format()指示符由一个百分号和一个字母组成,同c语言printf。d:十进制整数 x:十六进制整数 f:浮点数 s:字符串
%.4f:小数点后保留4位小数 %02d:一个十进制数至少由两个数字组成,不足两个数字的用0补齐 %2d表示用空格来补齐 等
2. 当调用函数math.sin时,我们可能认为是“调用了math库中函数 sin”;而对于 Lua语言来说,其实际含义是“以字符串“sin”为键检索表math”。
3. Lua 语言中的表本质上是一种辅助数组,这种数组不仅可以使用数值作为索引,也可以使用字符串或其他任意类型的值作为索引(nil除外)。
4. a.x 代表的是 a[”x”] ,即由字符串”x”索引的 表;而 a[x]则是指由变量 x 对应的值索引的表
5. table构造器1 a = {x = 10, y = 20} 等价于 a = {} ; a. x = 10; a. y = 20
6. table构造器2,可以混用记录式和列表式写法:
polyline = {cola「=” blue ”, 
            thickness=2, 
            npoints=4, 
            {x=0, y=0},  -- polyline[1] 
            {x=-10, y=0, -- polyline[2] 
            {x=-10,y=1},  -- polyline[3] 
            {x=0, y=1}     -- polyline[4] 
           }
7. table构造器3,opnames =
8. table构造器4,a = {[1] =”red”,[2] =”green”,[ 3] =”blue ”,} 最后一个逗号可选。
9. 移除table某个元素,给该索引的值 赋nil即可。 {10, 2, 3, nil, nil} 等价
10.pair遍历table,顺序随机。ipairs按照顺序进行的,但是局限于,索引为number且从1开始计数且连续。
11.安全访问操作符,lua中没有,寻找替代语句。例如,想确认在指定的库中是否存在某个函数。
类似 if lib and lib. foo then ..
zip = company and company.a and company.a.b and company.a.b.c 该写法冗长且低效(在一次成功的访问中,对表进行了6次访问而非3次访问)
进化 E = {} zip = (((company Or E).a Or E).b or E).c
12.表标准库:insert,remove,move,concat
posted @ 2020-06-19 18:27  风影我爱罗  阅读(221)  评论(0编辑  收藏  举报