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