【COBOL 読み2-7-2】進学校と不良の関係〜EXITとENDとEVALUATE

🧩今日の学び
EXIT EVALUATE=途中脱出、END-EVALUATE=文法の終点という本質的な違いを理解。
EXIT は“早退届を出す不良”として、制御構造の流れを乱さない適切な脱出手段である。
EVALUATE 内で EXIT を濫用すると可読性が崩壊するため、「必要な一度だけ」が基本作法。

なるお)そういえばEXIT EVALUATEEND-EVALUATEは同じような意味になるんすよね?

係長)お前の口からそんな真面目な言葉が聞ける日がくるとはな…

な)どういう!?
オールレーズンくれたら、いつだって真面目になりますよ?

係)意外と渋いな…。じゃなくて、お菓子なくても真面目にやれよ。

結論から言うと「似てるけど、まったく同じじゃない

EXITとENDの違い:早退と授業終了の関係で理解する

EXIT EVALUATE

・途中で処理を打ち切る「脱出命令」
・実行中に出会ったら、その瞬間に END-EVALUATE までジャンプして抜ける

つまり「今このEVALUATEもう終わり!」って実行時に抜けるってわけだ。

✅ END-EVALUATE

「ここまでがEVALUATEブロックです」と示す文法上の終わり
実際に抜ける命令じゃなく、構文の終点を示すだけ

つまり END-EVALUATE文法のカギカッコの閉じみたいなもので、EXIT EVALUATE実行中にその閉じまでスキップする命令になるわけだ。

例えるなら…

END-EVALUATE
「授業終了のチャイム」

EXIT EVALUATE
「早退届を出して途中で帰る」

ってとこだ。

EXITは“筋を通す不良”:COBOL的に正しい脱出とは

な)はー、ENDは最後までいたので真面目くん。

EXITは不良生徒ってかんじっすね。でも早退届は出すという、偏差値高い学校で中途半端な不良ってやつですね!

係)お前うまいこと言うなそれ。

まさにその通りだ。
EXITは「授業中に寝るようなバカ」じゃなくて、ちゃんと「先生、体調悪いんで帰ります!」って筋は通してる不良なんだよ。

な)先生に早退届出すとかいやですねー。
めっちゃ睨んでるのに手には早退届もってるとか、ぷふー!。

おい先公!早退届早く受け取れよ!

とかやってんのかな。くはー恥ずかしー!

係)でもな、その不良が教室に3人も4人もいたら、授業めちゃくちゃになるだろ?

な)なりまくりですよ!連続して早退届とか、鬼笑もんですよ!鬼笑で授業になりませんって!!

係)そう。

だから、EXIT一人だけにしとけ。

それがCOBOL学校の“秩序”。

だが、“真面目なだけ”のプログラムも、つまらん学校になるってことだ。

おむすび

な)なんか良さげな解釈ってかんじでしたね!

でもなんで学校で例えたんです?

係)え…。
いや、その、あ、あくまでも例えだからな!

な)実録!ってやつですか?
もしや係長ってば、進学校の不良生徒だったんですか?ニヤニヤ

係)きょ、今日はここまで!

係長のワンポイント

EXIT EVALUATE は“実行中にその場で抜ける”早退、END-EVALUATE は“文法上の終点”でしかない。
EXIT が多すぎると流れが飛び飛びになり、読者が現在位置を見失う危険が高い。
逆に EXIT をまったく使わないと、不要な WHEN が増えロジックが冗長になる。
理想は「必要な場所に一度だけ」。脱出は一点突破、構造は整然──これがCOBOLの作法だ。
ENDは囲い、EXITは意思──この違いを理解すると分岐が一気に綺麗に書ける。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする