0基础lua学习(六)控制语句
控制语句
(1)if…then…else
--demo:省略了c语言的括号
if a>b then
else if a>c then
end
--lua中不支持switch case
--demo:
--定义变量
a = 10;
--使用 if 语句
if( a < 20 )
then
-- if 条件为true 时打印以下信息 --
print("a 小于 20" );
end
print("a 的值为:", a);
console:
a 小于 20
a 的值为: 10
(2) while
while a<5 do
a= a+1
end
(3) repeat …until 与C语言的 do while类似
local i =0
repeat
i = i +1
print(i..",")
until i>3
console:
1,
2,
3,
4,
--repeat until 中定义的局部变量作用域,包括了until中的语句
function f(x)
print("function")
return x*2
end
--函数或是表达式只会运行一次
for i=1,f(5) do print(i)
end
print("\n".."-------------------")
console:
function
1
2
3
4
5
6
7
8
9
10
(4) for
--(4-1)数字型for循环
--for var = from,to,step do--end
--数值循环
for i=10,1,-1 do
print(i)
end
print("\n".."-------------------")
consloe:
10
9
8
7
6
5
4
3
2
1
--(4-2)泛型for循环
--数组打印
days = {"Suanday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
for i,v in ipairs(days) do
print(v)
end
console:
Suanday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
- --迭代函数 io.lines用于遍历行
- --pairs用于遍历table元素
- --ipairs遍历迭代数组元素
- --string.gmatch用于迭代字符串中的单词
- --注意:for循环的step无法在循环体内修改
(5) break return
- --break跳出当前块,return结束当前函数。
- --break和return只能是块的最后一条语句,
- --否则需要用do break end 构造一个块。