pp.18-19
if
、case
、loop
の3つのシーケンシャルステートメントをコントロールストラクチャーと呼ぶ。
if
は他のプログラミング言語と同じ。else ifはelsif
。case
は下のとおり。式の結果が選択肢に一致したらそのステートメント群を実行する。式の結果としてあり得る値をすべて列挙しなければならない。
case 式 is when 選択肢1 => ステートメント群; when 選択肢2 => ステートメント群; when 選択肢3 | 選択肢4 => ステートメント群; -- orが指定できる。 when 選択肢5 to 選択肢6 => ステートメント群; -- 範囲も指定できる。 when others => ステートメント群; -- 最後はothersにすれば抜けがなくなる。 end case;
- loopステートメントは3種類。
-- 無限ループ variable i: integer := 0; ... loop ステートメント群; i := i + 1; exit when i = 10; -- 脱出条件 end loop; --whileループ variable j: integer := 0; ... while j < 10 loop ステートメント群; j := j + 1; end loop; -- forループ for k in 1 to 10 ステートメント群; end loop;