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

Lua forループ

Lua ループ

Luaプログラミング言語のforループ文は、指定された文を繰り返し実行し、繰り返し回数はfor文で制御できます。

Luaプログラミング言語のfor文は、大きく2つのカテゴリがあります::

  • 数値forループ

  • 汎用 for ループ

数値forループ

Luaプログラミング言語の数値forループの文法形式:

for var=exp1,exp2,exp3 do  
    <実行体>  
end

var は exp1 に変化します2、それぞれの変化は exp3 変数 var が増加するためのステップを、1回実行します "実行体"。exp3 はオプションです。指定しない場合、デフォルトで1。

オンラインサンプル

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

for の 3つの式はループの開始前に一度に評価され、その後は評価されません。例えば、上記の f(x) はループの開始前に一度だけ実行され、その結果はループの後で使用されます。

以下を確認:

#!/usr/local/bin/lua  
function 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 ループはイテレータ関数を通じてすべての値を巡回し、Java の foreach ステートメントに似ています。

Lua プログラミング言語の汎用 for ループの文法形式:

--配列 a のすべての値を印刷  
a = {"one", "two", "three"}
for i, v in ipairs(a) do
    print(i, v)
end

i は配列のインデックス値、v は対応するインデックスの配列要素の値です。ipairs は Lua が提供するイテレータ関数で、配列をイテレートします。

オンラインサンプル

配列 days をループ

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

以下の例の出力結果は:

日曜日
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日

Lua ループ