CASE/ja

From Lazarus wiki
Jump to: navigation, search

English (en) español (es) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

3Cb - CASE (著者: Tao Yue, 状態: 原文のまま変更なし)

Case は case 文を実行する。 case 文は各選択肢(selector)の順序表現を比較する。各選択肢は constantであったり、部分範囲、あるいは commasで区切られたリストである。選択肢フィールドはColonによってアクション・フィールドと分けられる。

b1、 7、 2037、 あるいは 5のいずれかで1方向に分岐させ、それ以外の場合には他の処理をさせるとしよう。それは次のようになる。

if (b = 1) or (b = 7) or (b = 2037) or (b = 5) then1
else2;

しかし、この場合は実行したい文に対応した数字をリストすることで簡単にできる。これは case 文で実行できる。

case b of
  1,7,2037,5:1;
  otherwise   文2
end;

一般的な case 文の形式は次のようになる。

case 選択肢 of
  リスト1:1;
  リスト2:2;
  ...
  リストn:    文n;
  otherwise 文
end;

otherwise の部分はオプションである。利用できるとしてもコンパイラ次第で異なる。多くのコンパイラでは otherwise の代わりに else を使う。

選択肢はなんらかの順序データ型である。実数は利用できない。

リストは文字値からなっていなくてはならないことに気をつけよう。つまり、定数か変更できない値を使わなくてはならない。言い換えれば変数は使えないのである。

previous contents next