この初版は Lua 5.0 向けに執筆されました。後続のバージョンでもほとんど関連性は失われていませんが、いくつかの相違点があります。
第 4 版では Lua 5.3 がターゲットとされ、Amazon やその他の書店で購入できます。
本の購入は Lua プロジェクトのサポート にもつながります。
![]() |
Lua でのプログラミング | ![]() |
パート I. 言語 第 4 章. 文 |
break と return ステートメントにより、内部ブロックからジャンプアウトできます。
ループを終了するには break ステートメントを使用します。このステートメントはステートメントを含む内部ループ(for、repeat、または while)を中断します。ループの外側では使用できません。break の後は、プログラムは中断されたループの直後から実行を続行します。
return ステートメントは関数の結果を返すか、単純に関数を終了します。関数の最後に暗黙的な return があるので、関数が自然に終了し値を返さない場合は return を使用する必要はありません。
構文的な理由により、break または return はブロックの最後のステートメントとしてのみ表示できます(つまり、チャンクの最後のステートメントとして、または end、else、または until の直前)。たとえば、次の例では、break は then ブロックの最後のステートメントです。
local i = 1 while a[i] do if a[i] == v then break end i = i + 1 end通常、これらのステートメントはこれらの場所で使用されます。これらに続くステートメントはすべて到達不能になるためです。ただし、ブロックの途中で return(または break)を記述すると便利な場合があります。たとえば、関数をデバッグしていて実行を回避したい場合です。そのような場合は、ステートメントの周りに明示的な do ブロックを使用できます
function foo () return --<< SYNTAX ERROR -- `return' is the last statement in the next block do return end -- OK ... -- statements not reached end
著作権 © 2003–2004 Roberto Ierusalimschy. All rights reserved. | ![]() |