lua学习-3 循环和流程控制

这篇具有很好参考价值的文章主要介绍了lua学习-3 循环和流程控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

判断

for 循环

数值遍历

for exp1,exp2,exp3 do
 //todo
 end

上述代码是指:从exp1 到exp2 以exp3为步长进行循环并执行todo代码,exp3默认为1,其实exp2可以是函数,但是只会执行一次(计算出结果,就不会再次执行了).

for i=1,f(x) do
    print(i)
end
 
for i=10,1,-1 do
    print(i)
end

泛型遍历

遍历数组
a = {"one", "two", "three"}
for i, v in ipairs(a) do
    print(i, v)
end 
遍历对象
b = {
    t1='rt1',
    t2=2
}

for i, v in pairs(b) do
    print(i, v)
end 
ipairs 和 pairs的异同

相同:
都是能遍历集合(表、数组),两者均优先按顺序输出没有key的值;
不同:
ipairs从第一个数字key开始,依次输出所有的key+1的键值,遇到字母下标并不会结束遍历,只是不输出而已,如果遇到nil则退出;
pairs无序输出字母类型key或者数字类型key的键值,遇到nil不输出,但不会停止遍历;

  1. ipairs会按照key的顺序输出数据,遇到不连续的数据停止输出,pairs会无序输出所有数据
  2. pairs和ipairs都会输出没有key的数据,ipairs会跳过字符串的key,pairs会输出所有的数据,优先输出不带key的按照顺序,带key的无序输出
  3. ipairs遇到nul会停止,pairs不会停止
  4. key为数组才是数组下标,key为字符串数字则是字符串下标
table = {["1"]="11",[1]="1",[3]="3"}
print("-----------ipairs----------------")
for k,v in ipairs(table) do
    print(k,v)
end
print("-----------pairs----------------")
for k,v in pairs(table) do
    print(k,v)
end
-----------ipairs----------------
1	1
-----------pairs----------------
1	11
1	1
3	3

参考链接

while 循环

while(condition)
do
   statement(s)
end

statements(循环体语句) 可以是一条或多条语句,condition(条件) 可以是任意表达式,在 condition(条件) 为 true 时执行循环体语句,建议有逻辑将condition修改为false,否则将死循环。

repeat循环

repeat
   statements
until( condition )

循环条件判断语句(condition)在循环体末尾部分,所以在条件进行判断前循环体都会执行一次。
如果条件判断语句(condition)为 false,循环会重新开始执行,直到条件判断语句(condition)为 true 才会停止执行。
类似于其他语言中的dowhile循环,statements一定会 执行一次,当condition为真则跳出循环(区分while循环)文章来源地址https://www.toymoban.com/news/detail-672786.html

goto

基础用法

goto FLAG;
a = 123
::FLAG::;
print(a)

注意事项

  1. 不能从外部goto到代码块中
  2. 不同跳出或者跳入一个函数中(因为函数也是一个代码块)

到了这里,关于lua学习-3 循环和流程控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ While 和 For 循环:流程控制全解析

    使用 switch 语句选择要执行的多个代码块之一。 语法 它的工作原理如下: switch 表达式被评估一次 表达式的值与每个 case 的值进行比较 如果找到匹配项,则执行关联的代码块 break 和 default 是可选的 下面的示例使用星期几的数字来计算星期几的名称: 示例 当 C++ 遇到

    2024年04月08日
    浏览(42)
  • Python的流程控制语句,while循环和嵌套、for循环、break和continue、冒泡排序

    流程控制语句是用于控制程序的执行顺序的语句。在Python中,主要有while循环和嵌套、for循环、break和continue语句、冒泡排序等。 while循环和嵌套: while循环用于多次执行一段代码,直到条件不再满足为止。嵌套是将一个while循环放在另一个while循环内部,实现多层循环。 示例

    2024年01月18日
    浏览(79)
  • 〖大前端 - 基础入门三大核心之JS篇⑰〗- JavaScript的流程控制语句「while循环语句」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月04日
    浏览(79)
  • 【Dart】=> [04] Dart初体验-基础语法(流程控制-if-switch-case-for循环

    学习内容: if 语句 switch – case 语句 for 循环语句 if 语句让代码有选择的执行,可以指定满足条件时才能执行的代码。 语句形式: if … else if … else if … else 案例: 根据学生分数,判断学生成绩是否及格 根据学生分数,划分学生成绩所在等级 优秀:分数大于等于90分 良好

    2024年01月19日
    浏览(32)
  • 【30天熟悉Go语言】8 Go流程控制之循环结构for range、goto、break、continue

    Go系列文章: GO开篇:手握Java走进Golang的世界 2 Go开发环境搭建、Hello World程序运行 3 Go编程规约和API包 4 Go的变量、常量、运算符 5 Go 基本数据类型 6 Go 复杂数据类型之指针 7 Go流程控制之分支结构if、switch Go专栏传送链接:https://blog.csdn.net/saintmm/category_12326997.html for 循环是一

    2024年02月10日
    浏览(33)
  • 〖大前端 - 基础入门三大核心之JS篇⑯〗- JavaScript的流程控制语句「for循环语句及算法题」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月07日
    浏览(34)
  • 第03章_流程控制语句(顺序结构,分支语句,循环语句,break,continue,Scanner,如何获取一个随机数)

    流程控制语句是用来控制程序中各 语句执行顺序 的语句,可以把语句组合成能 完成一定功能 的小逻辑模块。 程序设计中规定的 三种 流程结构,即: 顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。 分支结构 根据条件,选择性地执行某段代码。 有 if…els

    2024年01月22日
    浏览(39)
  • Python学习-流程图、分支与循环(branch and loop)

    1、流程图(Flowchart) 流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。 好处: 1)代码的指导文档 2)有助于规划高效率的程序结构 3)便于与他人交流 流程图的思维是至上往下走的,线性逻

    2024年02月21日
    浏览(36)
  • Java学习路线(4)——程序流程控制

    一、顺序结构 顺序结构是程序默认流程。 二、分支结构 if 作用: 主要用于区间匹配。 格式1: 格式2: 格式3: 注意: 当语句体只有一条程序时,可以将{}去除。 switch 作用: 适用于值匹配分支选择,即作为字典进行查找。 格式: 注意: (1)表达式类型仅支持byte、short、

    2024年02月05日
    浏览(29)
  • 【Dart】Dart学习(五)流程控制语句

    你可以使用下面的语句来控制 Dart 代码的执行流程: if 和 else for 循环 while 和 do - while 循环 break 和 continue switch 和 case assert 使用 try-catch 和 throw 也能影响控制流 If 和 Else Dart 支持 if - else 语句,其中 else 是可选的,比如下面的例子。 Dart 的 if 语句中的条件必须是布尔值而不能

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包