zoukankan      html  css  js  c++  java
  • 雷林鹏分享:Lua for 循环

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

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

      数值for循环

      泛型for循环

      数值for循环

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

      for var=exp1,exp2,exp3 do

      <执行体>

      end

      var 从 exp1 变化到 exp2,每次变化以 exp3 为步长递增 var,并执行一次 "执行体"。exp3 是可选的,如果不指定,默认为1。

      实例

      for i=1,f(x) do

      print(i)

      end

      for i=10,1,-1 do

      print(i)

      end

      for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次,其结果用在后面的循环中。

      验证如下:

      #!/usr/local/bin/lua

      function f(x)

      print("function")

      return x*2

      end

      for i=1,f(5) do print(i)

      end

      以上实例输出结果为:

      function

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      可以看到 函数f(x)只在循环开始前执行一次。

      泛型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:

      #!/usr/local/bin/lua

      days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}

      for i,v in ipairs(days) do print(v) end

      以上实例输出结果为:

      Sunday

      Monday

      Tuesday

      Wednesday

      Thursday

      Friday

      Saturday

      (编辑:雷林鹏 来源:网络 侵删)

  • 相关阅读:
    指针数组与数组指针
    209. 长度最小的子数组
    面试题 05.08. 绘制直线(位运算)
    1160. 拼写单词
    88. 合并两个有序数组
    80. 删除排序数组中的重复项 II(On)
    python自定义异常和主动抛出异常
    类的构造方法1(类中的特殊方法)
    python之判断一个值是不是可以被调用
    主动调用其他类的成员(普通调用和super方法调用)
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/11163551.html
Copyright © 2011-2022 走看看