SELECT-WHEN 分岐をご存知であろうか?
一般に他の開発言語では
SWITCH-CASE文と呼ばれる条件分岐の記述方法な
なかった。
_
旧来のRPG III や初めのころのILE-RPGでは
なかった SWITCH-CASE文の相当する SELECT-WHENと
いう条件分岐が使えるようになっている。
IF-ELSEの条件分岐だけでは
二者択一の条件分岐しか処理できない。
■ IF-ELSE二者択一
IF KBN = '1' : ELSE : ENDIF
■ SELECT-WHEN 複数選択の分岐
SELECT WHEN KBN = '1' : WHEN KBN = '2' : WHEN KBN = '3' : OTHER : ENDSL
[解説]
ILE-RPG のSELECT-WHEN は 他の開発言語の
SWITCH-CASE文より次の点において優れている。
_
(1)LEAVEは不要
WHEN の後の条件の終わりの LEAVEなどを
書かなくてよい。
他言語のSWITCH-CASE文であれば
CASEの最後にCASEの記述から抜け出るための BREAK命令をいちいち入れなければ
ならないが ILE-RPGでは不要である。
(2)DEFULAT不要
CASE の最後にそれ以外の例外を示す DEFAULTを必ず入れなければ
ならないがILE-RPGでは それ以外を示す OTHER は
必ずしも入れなくてもよい。
(3)条件は自由
CASE で判断記述とする変数はひとつだけであるが
WHEN に続く条件は同じ変数の比較でなくてもよいので
柔軟な比較が可能である。
(4)比較値は自由に宣言が可能
CASE ではC言語の場合は1桁の文字しかしかも等しい場合の比較しかできなかったが
WHEN ではどのような変数に対してでも比較できる柔軟さがある。
… どうであろうか?
ILE-RPG では SELECT-WHEN の条件分岐を効果的に使うことによって
構造化されたスタイリッシュな条件記述が可能になる。
しかも他のオープン系の言語より優れている。
SELECT-WHEN を使えばコーディングも快適になる見やすくわかりやすい記述と
なることはまちがいない。
今後も大いに利用したい命令である。
_