for迴圈是一個重複的控制結構,可以有效地寫一個迴圈,需要執行特定次數。
for語句建立了一個特殊的迴圈,有其自身的迴圈變數。開始迴圈變數指定的初始值和遞增或遞減到指定的最終值。
for迴圈是有用的,當知道要重複多少次任務。
for迴圈的語法是:
for "initial value" to "last value" by "inremental value" do -- Statements to be executed. end for |
在這裡會初始化一個變數的初始值,然後迴圈體被執行。每次疊代後,變數的值增加了給定的增量值,然後檢查最後的變數值是否達到,那麼回圈將被終止。
初始值,最後的值和增量都必須是原子。如果沒有增量指定,那麼+1是假定的。
for迴圈不支援 with entry 語句.
#!/home/euphoria-4.0b2/bin/eui for a = 1 to 6 do printf(1, "value of a %d\n", a) end for |
這將產生以下結果:
value of a 1 value of a 2 value of a 3 value of a 4 value of a 5 value of a 6 |
迴圈變數自動被宣告並且一直存在,直到回圈的結束。迴圈以外的變數沒有值甚至沒有宣告。如果需要它的最終值,將它複製到另一個變數,然後跳出迴圈。
檢查具有增量值的一個例子:
#!/home/euphoria-4.0b2/bin/eui for a = 1.0 to 6.0 by 0.5 do printf(1, "value of a %f\n", a) end for |
這將產生以下結果:
value of a 1.000000 value of a 1.500000 value of a 2.000000 value of a 2.500000 value of a 3.000000 value of a 3.500000 value of a 4.000000 value of a 4.500000 value of a 5.000000 value of a 5.500000 value of a 6.000000 |