コントロールストラクチャー / ifとcaseとloopと

pp.18-19

ifcaseloopの3つのシーケンシャルステートメントをコントロールストラクチャーと呼ぶ。

  • ifは他のプログラミング言語と同じ。else ifはelsif
  • caseは下のとおり。式の結果が選択肢に一致したらそのステートメント群を実行する。式の結果としてあり得る値をすべて列挙しなければならない。
caseis
    when 選択肢1 => ステートメント群;
    when 選択肢2 => ステートメント群;
    when 選択肢3 | 選択肢4 => ステートメント群; -- orが指定できる。
    when 選択肢5 to 選択肢6 => ステートメント群; -- 範囲も指定できる。
    when others => ステートメント群; -- 最後はothersにすれば抜けがなくなる。
end case;
-- 無限ループ
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;