1 局部变量和代码块
Lua语言中的变量在默认情况下是全局变量,所有的局部变量在使用前必须声明。
局部变量的生效范围仅限于声明它的代码块。
x = 10 -- x 为全部变量
local i = 1 -- i 为局部变量
有些人认为,在代码段的中间位置声明变量是一个不好的习惯,实际上恰恰相反:
1、在需要时才声明变量可以避免漏掉初始化这个变量;
2、通过缩小变量的作用域还有助于提高代码的可读性。
2 控制结构
特别注意:lua语言将所有不是 false 和 nil 的值都当作真(0和空字符串也当作真)。
2.1 if then else
示例:
if exp1 then
something
elseif exp2 then
something
else exp3 then
something
end
由于lua语言不支持switch语句,所以一连串的else-if语句会比较常见。
2.2 while
示例:
while exp do
something
end
2.3 repeat
示例:
repeat
something
until exp
lua语言中,循环体内声明的变量的作用域包括测试条件。
2.4 数值型for
示例:
for var = exp1,exp2,exp3 do
something
end
循环中,var由exp1变化到exp2,exp3表示步长(可选)。如果不想给循环设置上限,可以使用常量math.huge。
for循环的一些细节:
1、在循环开始前,三个循环表达式都会运行一次;
2、控制变量是被for语句自动声明的局部变量,其作用范围仅限于循环体内;
3、不要改变控制变量的值,否则可能产生不可预知的结果。
2.5 泛型for
此处省略,后续章节补充。
3 break、return 和 goto
break 语句:结束循环,该语句会中断包含它的内层循环,中断后,程序会接着被中断的循环继续执行。不可以在循环体外使用break。
return 语句:返回函数的执行结果或简单地结束函数的运行。所有函数的最后都有一个隐含的return语句。
特别注意:return语句必须是代码块的最后一句。否则会产生难以预料的结果。
goto 语句:略……
版权声明:本文为weixin_44928892原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。