https://img-blog.csdnimg.cn/32db9ce43ef64316a2e37a31f4cee033.gif
编程小鱼酱yu612.com,点击前往

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

    注意:for循环的参数作为表达式;或者函数调用,只会调用一次

    --(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 构造一个块。


posted @ 2017-10-24 15:43  鱼酱  阅读(157)  评论(0编辑  收藏  举报

https://img-blog.csdnimg.cn/32db9ce43ef64316a2e37a31f4cee033.gif
编程小鱼酱yu612.com,点击前往