zoukankan      html  css  js  c++  java
  • Lua的循环

    很多情况下我们需要做一些有规律性的重复操作,因此在程序中就需要重复执行某些语句。

    一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。

    循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。

    循环语句是由循环体及循环的终止条件两部分组成的。

    while循环

    Lua 编程语言中 while 循环语句在判断条件为 true 时会重复执行循环体语句。

    语法

    Lua 编程语言中 while 循环语法:

    while(condition)
    do
       statements
    end

    statements(循环体语句) 可以是一条或多条语句,condition(条件) 可以是任意表达式,在 condition(条件) 为 true 时执行循环体语句。

    流程图如下:

    在以上流程图中我们可以看出在condition(条件)为 false 时会跳过当前循环并开始脚本执行紧接着的语句。

    实例

    以下实例循环输出 a 的值:

    a = 10
    while( a< 20)
        do
            print("a的值为:",a)
            a = a+1
        end

     

    Lua for 循环

    Lua 编程语言中 for 循环语句可以重复执行指定语句,重复次数可在 for 语句中控制。

    Lua 编程语言中 for语句有两大类::

    • 数值for循环
    • 泛型for循环

    数值for循环

    Lua 编程语言中数值for循环语法格式:

    function f(x)  
        print("function")  
        return x*2  
    end  
    for i=1,f(5) do print(i)  
    end

    泛型for循环

    泛型 for 循环通过一个迭代器函数来遍历所有值,类似 java 中的 foreach 语句。

    Lua 编程语言中泛型 for 循环语法格式:

    --打印数组a的所有值  
    a = {"one", "two", "three"}
    for i, v in ipairs(a) do
        print(i, v)
    end

    i是数组索引值,v是对应索引的数组元素值。ipairs是Lua提供的一个迭代器函数,用来迭代数组。

    实例

    循环数组 days:

    days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
    for i,v in ipairs(days) do  
        print(i,v) 
    end  

     

    Lua repeat...until 循环

    Lua 编程语言中 repeat...until 循环语句不同于 for 和 while循环,for 和 while 循环的条件语句在当前循环执行开始时判断,而 repeat...until 循环的条件语句在当前循环结束后判断。

    语法

    Lua 编程语言中 repeat...until 循环语法格式:

    repeat
       statements
    until( condition )

    我们注意到循环条件判断语句(condition)在循环体末尾部分,所以在条件进行判断前循环体都会执行一次。

    如果条件判断语句(condition)为 false,循环会重新开始执行,直到条件判断语句(condition)为 true 才会停止执行。

    Lua repeat...until 循环流程图如下:

    a = 10
    repeat
        print("a的值为:",a)
        a = a + 1
    until( a > 15)

    循环控制语句

    循环控制语句用于控制程序的流程, 以实现程序的各种结构方式。

    Lua 支持以下循环控制语句:

    控制语句描述
    break 语句 退出当前循环或语句,并开始脚本执行紧接着的语句。
    goto 语句 将程序的控制点转移到一个标签处。

    Lua break 语句

    Lua 编程语言 break 语句插入在循环体中,用于退出当前循环或语句,并开始脚本执行紧接着的语句。

    如果你使用循环嵌套,break语句将停止最内层循环的执行,并开始执行的外层的循环语句。

    语法

    Lua 编程语言中 break 语句语法格式:

    流程图:

    实例

    以下实例执行 while 循环,在变量 a 小于 20 时输出 a 的值,并在 a 大于 15 时终止执行循环:

    a = 10
    
    while(a < 20)
        do
            print("a的值为",a)
            a=a+1
            if(a > 15)
                then
                    break
            end
        end

    Lua goto 语句

    Lua 语言中的 goto 语句允许将控制流程无条件地转到被标记的语句处。

    语法

    语法格式如下所示:

    goto Label

    Label 的格式为:

    :: Label ::

    以下实例在判断语句中使用 goto:

    local a = 1
    ::label:: print("--- goto label ---")
    
    a = a+1
    if a < 3 then
        goto label   -- a 小于 3 的时候跳转到标签 label
    end

     演示二:

    for i=1, 4 do
        if i <= 2 then
            print(i, "yes continue")
           goto continue
        end
        print(i, " no continue")
        ::continue::
        print([[i'm end]])
    end

  • 相关阅读:
    TLS1.3 认证和秘钥建立握手环节的分析
    使用华为云+GitHub搭建自己的博客
    TLS1.3 握手协议的分析
    Formal Analysis of the TLS Handshake Protocol -----论文整理
    TLS1.3 握手过程特性的整理
    TLS1.3 PPT 整理
    SSL/TLS 握手协议简述
    TLS握手秘钥套件分析
    Scyther-Compromise 协议形式化安全分析如何改进协议
    HTTP 协议部分常识简介
  • 原文地址:https://www.cnblogs.com/dalianpai/p/12660827.html
Copyright © 2011-2022 走看看