第4章
赋值 :
lua支持多值赋值。
PS:
a,b=4,5
多值赋值,先计算等号右边的值,计算完才开始赋值,所以有以下特殊应用:
a,b=b,a
当等号左边变量的数量和等号右边的数值个数不想等时,按照以下规则进行赋值。
左边>右边:a,b,c=1,2 ==> a=1,b=2,c=nil
左边<右边:a,b=1,2,3 ==> a=1,b=2,3被省略
多值赋值的应用常见的有两种:交换变量,接受函数返回值
function f()
j=1
i=2
return j,i
end
a,b=f()
局部变量和代码块 :
通过lua的保留字 local 可以把变量声明为局部变量,局部变量的左右范围是有限的,一个chunk或者一个函数内,一个控制结构内。具体要看这个局部变量在哪个位置声明。
通过lua的保留字 do..end可以为block划分一个明确的边界。就是代码块。
控制结构语句 :
if---else
while---do
for
if---else :
选择结构,完整的有以下三种
1、
if 条件 then
执行内容
end
2、
if 条件 then
执行内容
else
执行内容
end
3、
if 条件 then
执行内容
elseif 条件 then
执行内容
else
执行内容
else
执行内容
end
while---do :
while 条件 do
执行内容
end
for:
1、数值for循环
for i=x,y,k do
执行内容
end
i从x到y每次增加k,当i>y的时候循环结束
x,y,k可能是表达式,只会在循环开始前被执行一次。
控制变量i,实在控制结构语句内被声明的,如果想要获取它的值,需要通过在外部定义变量,然后将i的值赋值给外部变量。
2、泛型for循环
for i , v in ipairs(table) do
执行内容
end
泛型for会遍历迭代ipairs返回的每一个值
break和return用于跳出循环
作为chunk的最后一句,必须在block的结尾一句使用,在end,else或者until前使用。