【COBOL 読み2-4-1】EVALUATE WHEN OTHER〜貪欲性男子

🧩今日の学び
EVALUATE ALSOの並列評価とWHEN OTHERの“まとめ力”で条件構造を整理する重要性を理解
・なるおの暴走コメントが「OTHERANY=どこでも受け止める包容力」の比喩として光る回
・COBOLの条件分岐は順番と網羅性が鍵

なるお)今日もやるんですか?

係長)あたりまえだろ。
お前がEVALUATEを理解したぐらいで、俺が満足すると思ったか?

な)えーもう十分頑張ったじゃないですか!
お腹いっぱいですよ。もう甘食ぐらいしか入らないですよ。

係)なんで甘食なんだよ…って、お前甘い物、食いすぎだろ。
ま、お前の健康診断の結果はしらんが、今日は“EVALUATE ALSO実戦編”だ。

な)健康診断の結果って本当なんですかね…おとぎ話とか都市伝説とかじゃないですか…?

係)お前の信仰心はどうでもいいわ。

WHEN OTHERのまとめ力:順番で成り立つCOBOLの美学

ほれ、今日のコードだ、昨日見せたな。

       MOVE "B" TO GRADE
       MOVE 87 TO SCORE

       EVALUATE GRADE ALSO TRUE
           WHEN "A" ALSO SCORE > 95
               MOVE "Scholar" TO TITLE
           WHEN "A" ALSO OTHER 
               MOVE "Achiever" TO TITLE
           WHEN "B" ALSO SCORE > 85
               MOVE "Challenger" TO TITLE
           WHEN "B" ALSO OTHER
               MOVE "Learner" TO TITLE
           WHEN OTHER ALSO ANY
               MOVE "Try Again" TO TITLE
       END-EVALUATE.

な)はえー。ほえー。ホエー豚。あ、とんかつ食べたいなー。

ま、いいや。

係)BGRADEに入れて、87SCOREに入れて、、、と。

EVALUATEで条件が来てのーALSOもう並びを見るとGRADESCOREの両方を比べていって、合うWHEN文の処理をするという感じですわな。

処理もALSOなので、GRADEAで、SCORE95以上だったら、対応する文字列をTITLEに入れる…と。

あれ?

でも、WHENひとつでWHEN "A" ALSO OTHERでまとめているんだよね。

となると、Aでの場合GRADE ALSO SCOREでまとめているから、同じ書き方で順番も一緒なら、ALSO OTHERはその他ってことで真偽を確認してくれるってことかいな?

WHEN OTHER ALSO ANY

って、これすごいな。OTHERANYだから、その他(OTHER)だったら何でも(ANY)ってことでしょ。

雑食タイプかー。実は俺もサラダ好きだしね。居酒屋で大根サラダ頼むしね。健康だからね。

おむすび

いやーしかし、素敵なまとめ方ね!

いわゆる、俺とお前は一心同体、魂の片割れですか?速水さんとマヤなんですか?もう20年後の世界を誰かに書いてもらったほうが先に終わるんじゃね。

さておき、さすがレガシー!ロマンスグレーだわ!

でもこれだと楽で読みやすい感じはするよねー。

係長のワンポイント

ALSOは“横に並べて同時比較”、OTHERANYは“抜けを作らないための安全弁”だ。
WHEN "A" ALSO OTHERのように片側だけOTHERを使うと、もう片側の条件を柔軟に拾える。
WHEN OTHER ALSO ANYは“どれでも来い”の最終受け皿で、条件漏れゼロの設計になる。
EVALUATEの美学は順番と網羅性──上から刺さらなければ最後で必ず受ける。
分岐が増えるほどOTHERANYの扱いが“職人の腕”として差が出るぞ。

― 目次(読みシリーズ)へ戻る ―

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

この記事を書いた人

コメント

コメントする