1.1 Chunks
1.2 全局变量
访问一个没有初始化的全局变量也不会出错,只不过的到的结果是nil
如果想删除一个全局变量,只需要将变量赋值为nil
1.3 词法约定
标识符
保留字不能作为标识符
Lua是大小写敏感的
注释:单行注释:--
多行注释:--[[--]]
1.4命令行方式
-e:直接将命令传入Lua
-l:加载一个文件
-i:进入交互模式
_PROMPT内置变量作为交互模式的提示符
2类型和值
nil booleans numbers strings
当一个string碰到一个数字的时候会将一个数字转化位string tostring
3。表达式
逻辑运算符认为false和nil是假,其他为真,0也是true(不同的地方)
and和or的运算结果不是true和false,而是和它的两个操作数相关
a and b --如果a为false,则返回a,否则返回b
a or b --如果a为true,则返回a,否则返回b
连接运算符
.. --两个点
优先级
^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or
除了^和..外所有的二元运算符都是左连接的。
a+i < b/2+1 <--> (a+i) < ((b/2)+1)
5+x^2*8 <--> 5+((x^2)*8)
a < y and y <= z <--> (a < y) and (y <= z)
-x^2 <--> -(x^2)
x^y^z <--> x^(y^z)
表的构造