📜  for i in pairing lua (1)

📅  最后修改于: 2023-12-03 15:00:49.892000             🧑  作者: Mango

Lua中的for循环

Lua中的for循环有两种形式:数字循环和泛型循环。我们分别来介绍一下。

数字循环

数字循环是最基本的循环形式,可以迭代数字范围。

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

以上的代码演示了从1到10的循环,每次的变量i会被赋值为对应数字。可以在循环区间内指定步长。

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

以上代码演示了从1到10的循环,但是每次的变量i增加2,输出结果为1, 3, 5, 7, 9。

泛型循环

泛型循环是一个迭代器函数,可以用于迭代表中的元素。表可以是数组、集合或迭代器函数。

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

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

以上代码演示了迭代表中的元素,使用了ipairs函数作为迭代器函数,变量i代表下标,变量v代表值。输出结果为Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday。

function square(iteratorMaxCount, currentNumber)
    if currentNumber < iteratorMaxCount then
        currentNumber = currentNumber + 1
        return currentNumber, currentNumber * currentNumber
    end
end

for i, sqr in square, 3, 0 do
    print(i, sqr)
end

以上代码演示了自定义迭代器函数,每次迭代返回当前数字和它的平方值。for循环会在迭代次数达到iteratorMaxCount时退出。输出结果为1 1、2 4、3 9。

总结

for循环是Lua中最常用的循环结构之一,数字循环和泛型循环都有各自的特点和用途。掌握它们能为编写简洁高效的程序提供帮助。