lua中语句之间可以用空格隔开,但是一个语句中的元素就需要用逗号来隔开而不是用空格。例如: Num={x=1,b=5,{u=6}}
相等性操纵符== 不等性操作符~=
对于table、userdata、函数,lua中进行比较的时候是比较的引用。只有当引用的是同一个对象的时候才相等 注;类似与C#中的引用类型
逻辑操作符 and、or、not。所有的逻辑操作符将false和nil视为假,而将其他的任何东西视为真。
对于操作符and来说,如果第一个操作数为假那么就返回第一个操作数 对于or来说,如果第一个操作数为假,那么返回第二个操作数
and和or都使用短路求值,也就是说在需要的时候才去评估第二个值,如果第一个值就不满足条件的话,那么是不会评估第二个值的
a and b or c 这个表达式是类似与三元表达式的 A?B:C
not的话其实就是取反
lua中的字符串是不可变的值,连接操作符只会创建一个新的字符串,而不会对其原操作数进行任何修改
字符串连接符会将任何操作数连接起来 。。
操作符的优先级 ^是最高的,如果a^b^c :那么是从右往前运算 and与or是最后两个,但是and比or要有限
连接操作符。。也是从右往左的
table里面还可以套table,形成复杂的数据结构
初始化table的方式有:a={x=10,y=20} a={}; x=10 y=10
table中申明可以用a={["+"]=1},使用方括号将+号括起来当做索引
lua中赋值可以多重赋值,如果值比变量多的话那么多出来的值就消失掉,如果变量名比值多的话,那么多出来的变量名就为空值nil
也可以直接交换 x,y=y,x x与y的值对调 注:不用象C#中使用第三方变量来进行数值的交换
也可以用来接受一个函数的多个返回值
do-End 可以用来标明一个程序块