Цикл for в Lua
В языке программирования Lua оператор цикла for может многократно выполнять заданные операторы, а количество повторений можно контролировать в операторе for.
Оператор for в языке программирования Lua имеет две основные категории:
- Числовой цикл for
- Обобщённый цикл for
Числовой цикл for
Синтаксис числового цикла for в языке программирования Lua:
for var=exp1,exp2,exp3 do
<执行体>
end
var изменяется от exp1 до exp2, увеличиваясь на exp3 при каждом изменении, и выполняет один раз"тело цикла"exp3 необязателен; если не указан, по умолчанию равен 1.
Пример
Пример
print(i)
end
for i=10,1,-1 do
print(i)
end
Три выражения for вычисляются один раз перед началом цикла и больше не вычисляются позже. Например, f(x) выше выполняется только один раз перед началом цикла, и его результат используется в последующих итерациях цикла.
Проверка выглядит следующим образом:
Пример
функция 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 перебирает все значения через функцию-итератор, аналогично оператору foreach в Java.
Синтаксис обобщённого цикла for в языке программирования Lua:
--打印数组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(v) end
Вывод приведенного выше примера:
Sunday Monday Tuesday Wednesday Thursday Friday SaturdayДругие расширения
Циклы в Lua