> my_method = {} > function my_method.print2() >> local times = 1 >> while(times<3) >> do >> print("haahah") >> print("print"..times.."times") >> times = times + 1 >> end >> end > my_method.print2() haahah print1times haahah print2times
for 循环
[基本语法]
1 2 3
for var=exp1,exp2,exp3 do <执行体> end
var 从 exp1 变化到 exp2,每次变化以 exp3 为步长递增 var,并执行一次 “执行体”。exp3 是可选的,如果不指定,默认为1。
[示例]
1 2 3 4 5 6 7 8 9 10
> my_method = {} > function my_method.print2() >> for i=1,2,1 >> do >> print("haahah") >> end >> end > my_method.print2() haahah haahah
> my_method = {} > function my_method.print2() >> local flag = 1 >>repeat >> print("haahah") >> flag = flag + 1 >>until(flag > 2) >> end > my_method.print2() haahah haahah
循环嵌套
lua编程语言支持同类型循环嵌套以及不同类型循环嵌套(常规性支持),详情略。
流程控制
语句
描述
if 语句
if语句 由一个布尔表达式作为条件哦安段,其后紧跟其他语句组成
if…else语句
if语句 可以与 else语句 搭配使用,在 if条件表达式为false时执行else语句代码
if嵌套语句
可以在 if 或 else if 中使用一个或多个 if 或 else if 语句
[if 基本语法]
1 2 3 4
if(布尔表达式) then --[ 在布尔表达式为 true 时执行的语句 --] end
[if...else 基本语法]
1 2 3 4 5 6
if(布尔表达式) then --[ 布尔表达式为 true 时执行该语句块 --] else --[ 布尔表达式为 false 时执行该语句块 --] end
[if 嵌套 基本语法]
1 2 3 4 5 6 7 8
if( 布尔表达式 1) then --[ 布尔表达式 1 为 true 时执行该语句块 --] if(布尔表达式 2) then --[ 布尔表达式 2 为 true 时执行该语句块 --] end end
> function method1(arg1,arg2) do >> local res = arg1 + arg2 >> return res >> end >> end > pcall(method1,1,2) true 3 > pcall(method1) false stdin:2: attempt to perform arithmetic on a nil value (local 'arg1') > a,b=pcall(method1) > print(a) false > print(b) stdin:2: attempt to perform arithmetic on a nil value (local 'arg1') >
> function method1(arg1,arg2) do >> local res = arg1 + arg2 >> return res >> end >> end > function myerr() do >> return "there is err" >> end >> end > xpcall(method1,myerr) false there is err