Lua for 循环

返回上一级

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

Lua 语言中的 for 循环语句分为两大类:

  1. 数值 for 循环语句
  2. 泛型 for 循环语句

Lua 中 for 循环流程图如下:

1. 数值 for 循环

Lua 语言中数值 for 循环语法格式如下:

for var = exp1, exp2, exp3 do   
    statements  
end

var 从 exp1 变化到 exp2 ,每次变化以 exp3 为步长递增 var,并执行一次 statements

exp3 是可选的,如果不指定,默认为 1

for 循环语句的三个表达式在循环开始前一次性求值,以后不再进行求值。

范例

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

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

上面的 f(x) 只会在循环开始前执行一次,其结果用在后面的循环中

-- !/usr/bin/lua
-- -*- encoding:utf-8 -*-
-- filename: main.lua
-- author: 简单教程(www.twle.cn)
-- Copyright © 2015-2065 www.twle.cn. All rights reserved.


function f(x)  
    print("in f(x) ")  
    return x * 2   
end

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

运行以上 Lua 脚本,输出结果如下:

$ lua main.lua
in f(x) 
1
2
3
4
5
6
7
8
9
10

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

2. 泛型 for 循环

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

Lua 语言中泛型 for 循环语法格式如下:

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

i 是数组索引值,v 是对应索引的数组元素值,a 是一个数组

ipairs 是 Lua 提供的一个迭代器函数,用来迭代数组。

范例

使用 for 循环输出 array 数组

-- !/usr/bin/lua
-- -*- encoding:utf-8 -*-
-- filename: main.lua
-- author: 简单教程(www.twle.cn)
-- Copyright © 2015-2065 www.twle.cn. All rights reserved.


array = {"QQ", "Baidu",'Ali','Sina','Meituan'}

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

运行以上 Lua 脚本,输出结果如下

$ lua main.lua
QQ
Baidu
Ali
Sina
Meituan

返回上一级

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.