1. lua中变量的作用域有三种:全局,局部,表中的域
需要注意的是默认的变量都是全局变量,必须声明为local的变量才是局部变量,即使是在函数里面没有使用local修饰的变量依然是全局变量!!!!
2. 赋值语句
首先要说明的 lua的赋值语句可以多个变量同时进行赋值,另外重要的是,赋值过程是先计算赋值符号右边的每一项,然后同时赋值给右边的变量,比如
x,y = y,x
可以实现 x,y 的交换!
当 赋值符号左右项个数不一致时采用的策略:值的个数多,就把多的值忽略;变量的个数多,多的变量赋值为nil
注意: a,b,c=0 和 a,b,c = 0,0,0 的区别
3.索引
table的索引可以有
t[i]
t.i -- 索引的键为字符串时的简化写法
gettable_event(t,i) --采用索引访问本质上是一个这样的函数调用
4. while 循环
while (true)
do
print('循环至死')
end
5. for循环
for i=1,10,2 do -- 类似matlab里面的 for i=1:2:10,print i^2;end
print (i^2)
end
for k,v in pairs(tab) do -- 类似于foreach遍历
print(v)
end
6. repeat ... until 有点类似于 c++里的do ... while,但条件不一样,当条件满足时,repeat终止,在do while里是条件满足时继续do
a =10
repeat
print(a)
until(a>15)
7. lua 里面貌似没有continue语句,实现continue功能可以嵌套一层循环,然后利用内层循环的break实现
8. 再强调一遍条件表达式里面 false和nil为假, true和 not nil为真, 0 也为真!!!
9. 多个if else的形式:
if .... then
...
elseif .... then
...
else
...
end