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

🧩今日の学び
・EVALUATE ALSO の並列評価と WHEN OTHER の“まとめ力”で条件構造を整理する重要性を理解
・なるおの暴走コメントが「OTHER/ANY=どこでも受け止める包容力」の比喩として光る回
・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.

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

ま、いいや。

係)BをGRADEに入れて、87をSCOREに入れて、、、と。

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

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

あれ?

でも、WHENひとつで、「WHEN “A” ALSO OTHER」でまとめているんだよね。となると、Aでの場合「GRADE ALSO SCORE」でまとめているから、同じ書き方で順番も一緒なら、「ALSO OTHER」はその他ってことで真偽を確認してくれるってことかいな?

WHEN OTHER ALSO ANY

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

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

おむすび

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

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

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

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

係長のワンポイント

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

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

この記事を書いた人

コメント

コメントする