在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
© 版权声明:本文为博主原创文章,转载请注明出处 1.循环类型 1.1 while循环 - 语法:while(condition) do ...<执行语句> end - 解析:判断condition是否为true,为true执行语句,false结束循环 1.2 for循环 1.2.1 数值for循环 - 语法:for var = exp1, exp2, exp3 do ...<执行语句> end - 解析:var从exp到exp2,步长为exp3(可选,默认为1);exp1,exp2,exp3都是数值 1.2.2 泛型for循环 - 语法: 1)for k, v in pairs(tab) ...<执行语句> end 2)for k, v in ipairs(tab) ...<执行语句> end - 解析: 1)通过迭代器函数pairs来遍历table的所有值,tab是一个table,k是索引,v是索引对应的值 2)ipairs与pairs作用相似,不过pairs遍历所有key,ipairs只遍历key值为整数的 1.3 repeat...until循环 - 语法:repeat ...<执行语句> until(condition) - 解析:先执行语句,然后判断condition是否为true,为true继续执行语句,false结束循环(repeat...until循环至少执行一次) 1.4 嵌套循环 - 在循环内再嵌套一个或多个循环 2.循环控制语句 2.1 break语句 - 退出当前循环语句,并开始执行紧接着的语句 3.无限循环 - 在循环体中,如果条件永远为true,循环语句就会永远执行下去 4.loops.lua print("while:") a = 0 while(a < 3) do local x = a * 3 - 1 print("x = " .. x) a = a + 1 end print("\nfor:") for i = 1, 5 do -- 数值for循环,默认步长为1 print("第" .. i .. "次循环") i = i + 1 end print() for i = 5, 1, -2 do -- 数值for循环,步长为-2 print("第" .. i .. "次循环") i = i + 1 end tab = { key1 = "val1", key2 = "val2", "val3" } print("\npairs:") for k, v in pairs(tab) do -- 泛型for循环,pairs可迭代table中的所有key print("k = " .. k .. " , v = " .. v) end print("\nipairs:") for k, v in ipairs(tab) do -- 泛型for循环,ipairs只可迭代table中key值为整数的 print("k = " .. k .. " , v = " .. v) end print("\nrepeat:") x = 0 repeat -- repeat...until循环,先执行后判断条件,所以至少执行一次 print("x = " .. x) x = x - 1 until(x < 0) print("\nNested loop:") -- 嵌套循环,在一个循环里嵌套一个或多个循环语句 y = 2 while(y > 0) do for j = 1, 3 do print(y .. " * " .. j .. " = " .. j * y) end y = y - 1 end print("\nbreak:") for i = 0, 10 do -- break,退出当前循环或语句 print("i = " .. i) if(i == 2) then print("break...") break end end 5.效果预览 参考:http://www.runoob.com/lua/lua-loops.html |
请发表评论