• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua学习五----------Lua循环

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

© 版权声明:本文为博主原创文章,转载请注明出处

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua中的模块定义和使用发布时间:2022-07-22
下一篇:
lua与c的交互(运用)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap