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

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

  • 相关阅读:
    今天是周日,一如既往的在加班
    懒出来的框架
    把Visio文档中形状信息导出到XML文件的VBA代码
    DataGridView多线程更新数据的问题的解决办法
    为VS定制一个自己的代码生成器
    安装VS2012之后自己开发的自定义工具没法使用问题的解决办法
    通过RSA进行私钥加密公钥解密算法的进一步改进
    程序员在职场 该反思了吗?
    图片与字节数组相互转换的方法
    jQuery Ajax 方法调用 Asp.Net WebService 的详细例子
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/11163551.html
Copyright © 2011-2022 走看看