🧩今日の学び
・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 の扱いが“職人の腕”として差が出るぞ。

コメント