English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Boucle for Lua

循环 Lua

Les instructions for du langage Lua peuvent exécuter des instructions spécifiées en répétition, le nombre de répétitions peut être contrôlé dans l'instruction for.

Le langage Lua a deux types principaux de instructions for :

  • Boucle for numérique

  • Boucle for générique

Boucle for numérique

Format de syntaxe de boucle for numériques en langage Lua:

for var=exp1,exp2,exp3 do  
    <corps d'exécution>  
end

var à partir de exp1 changez à exp2chaque variation avec exp3 Pour une variable var croissante, et exécuter une fois "Corps d'exécution"。3 Est optionnel, si non spécifié, il est par défaut1。

Exemple en ligne

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

Les trois expressions for sont évaluées une seule fois au début de la boucle et ne sont pas évaluées à nouveau. Par exemple, f(x) ne sera exécuté qu'une seule fois au début de la boucle et son résultat sera utilisé dans la boucle suivante.

Vérification suivante :

#!/usr/local/bin/lua  
function f(x)  
    print("function")  
    return x*2   
end  
for i=1,f(5) do print(i)  
end

Les résultats d'exemple ci-dessus sont les suivants :

function
1
2
3
4
5
6
7
8
9
10

On peut voir que la fonction f(x) est exécutée une seule fois au début de la boucle.

Boucle for générique

La boucle for générique itère toutes les valeurs à l'aide d'une fonction d'itérateur, similaire à la directive foreach en Java.

Format de syntaxe de boucle for générique dans le langage de programmation Lua :

--Afficher toutes les valeurs du tableau a  
a = {"one", "two", "three"}
for i, v in ipairs(a) do
    print(i, v)
end

i est la valeur d'index du tableau, v est la valeur de l'élément du tableau correspondant à l'index. ipairs est une fonction d'itérateur fournie par Lua, utilisée pour itérer les tableaux.

Exemple en ligne

Tableau itératif en boucle : days

#!/usr/local/bin/lua  
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
for i,v in ipairs(days) do  print(v) end

Les résultats d'exemple ci-dessus sont les suivants :

Dimanche
Lundi
Mardi
Mercredi
Jeudi
Vendredi
Samedi

循环 Lua