浅谈Lua语句
Lua中的语句支持赋值,控制结构,函数调用,还有变量声明。
不允许空的语句段,因此;;是非法的。
1语句组|chuncks
chunck::={stat[';']}
([';']应该是表示语句组后面;是可选项。)
2语句块|blocks
block::=chunck stat::=doblockend
可以将一个语句块显式地写成语句组,可以用于控制局部变量的作用范围。
3赋值|assignment
Lua支持多重赋值。
多重赋值时,按序将右边的表达式的值赋值给左值。右值不足补nil,右值多余舍弃。
b=1 a,b=4--a=4,b=nil +++
Lua在进行赋值操作时,会一次性把右边的表达式都计算出来后进行赋值。
i=5 i,a[i]=i+1,7--i=6,a[5]=7
特别地,有
x,y=y,x--交换x,y的值
+++
对全局变量以及表的域的赋值操作含义可以在元表中更改。
4控制结构
4.1条件语句
if[exp] [block] elseif[exp] [block] else [block] end
4.2循环语句
while[exp] [block] end +++
repeat [block] until[exp]