繰り返し処理を実行している間にbreak文を使うと,
いつでもループから脱出することができます.
例えば次のようなプログラムを書いたとします.
for i = 0, 10 do
print( "iの値:" .. i )
if ( i == 5 ) then
break
end
end
print("脱出")
実行結果
iの値:0
iの値:1
iの値:2
iの値:3
iの値:4
iの値:5
脱出
breakは必ずブロックの最後でしか使うことができません.
ブロックの最後とは,具体的に以下のような場所です.
- endの手前
- repeat - until の untilの手前 等
上記の場所以外ではbreakは定義できません.
しかしデバッグ中に,例えば処理の途中でbreakしたい場合があるかもしれません.
次のようなコードがあったとします.
for i = 0, 10 do
print("なにか処理")
--本当はここでbreakしたい
print("別の処理")
end
print("脱出")
まあ,このようなコードを書くことは普段ないとは思いますが.
とにかく,途中でbreakしたい場合は,ブロックをforの途中に作ればよいのです.
ブロックを作るには,do - endを使用します.
書式
do
処理
end
よって,次のように書き直せば,処理の途中でbreakが行えます.
for i = 0, 10 do
print("なにか処理")
do
break;
end
print("別の処理")
end
print("脱出")
実行結果
なにか処理
脱出