🧩今日の学び
・ALSO で「複数条件を横並びに」評価することで、ネストを減らし読みやすさが向上する
・なるおの“二刀流誤解”を通じて、EVALUATE の構造で考える感覚が身につく
・条件が増える時こそ、縦ではなく横へ──ALSO を正しく使いこなすのが次のステップ
係)お前、牛丼食いに行くスピードだけ一級品だな。
な)そりゃうまいですからね!
係)なんで抜け出して牛丼食いに行ってんだって話だろ。
な)タバコ吸いに行くようなもんすよ。
牛丼は早い安いうまいエモいからすぐ食い終わりますよ。5分で戻って来ますよ。卵追加で4分ですかねー。
係)…あっそ ………エモい?
ま、まぁ、説明は合ってる。今回のコードはこうだったな
EVALUATE GRADE
WHEN "A"
EVALUATE TRUE
WHEN SCORE > 95
MOVE "Outstanding" TO REMARK
WHEN OTHER
MOVE "Excellent" TO REMARK
END-EVALUATE
WHEN "B"
EVALUATE TRUE
WHEN SCORE > 85
MOVE "Very Good" TO REMARK
WHEN OTHER
MOVE "Good" TO REMARK
END-EVALUATE
WHEN OTHER
MOVE "Needs Improvement" TO REMARK
END-EVALUATE.
ほぼ満点でいいだろう。
※前回の内容はこちら

な)えっ!?マジっすか!?
いやー、ついに係長を超える自分が恐ろしいです。
だったら、マイク持ってインタビューしてみてください!カメラに向かってサイン書くんで!ニコニコ
係)ただし「理解した」と「書ける」は別物だ。
な)いや…満点って…
EVALUATEの真価:分岐を“その場で完結”させる力
係)お前が今やったのは、“読んだだけ”。
EVALUATEの本当の強みは、“分岐の中で処理を完結させること”だ。
つまり、条件に応じた流れを“構造で整理できる”。
たとえば、こう書くとわかりやすい。
EVALUATE GRADE ALSO TRUE
WHEN "A" ALSO SCORE > 95
MOVE "Outstanding" TO REMARK
WHEN "A" ALSO OTHER
MOVE "Excellent" TO REMARK
WHEN "B" ALSO SCORE > 85
MOVE "Very Good" TO REMARK
WHEN "B" ALSO OTHER
MOVE "Good" TO REMARK
WHEN OTHER ALSO ANY
MOVE "Needs Improvement" TO REMARK
END-EVALUATE.
な)あれ?なにこれ?
EVALUATEが……条件2つ!?
二刀流!大谷ですか!?
あれ?
でも、二頭龍もかっこいいですよね!がおーがおーみたいな!
でも飛んだら、首絡まりますよね…考えもんですね。
係)どこに考えどころがあるんだよ!
いいか龍は実在しない!以上。
な)えー飛んでたらかっこいいじゃないですかー
係)大丈夫だ。お前は食われるだけだから。
ALSOで二刀流:GRADE × SCORE を同時評価する世界
“ALSO” は “EVALUATE” で “複数の条件”を同時に評価できる。
つまり「GRADEも」「SCOREも」同時に見れるってことだ。
な)え、じゃあ……EVALUATEの中にEVALUATE入れなくてもいいんすか!?
係)そうだ。
“二重構造”を“横並びの構造”に変えられる。
これがCOBOLの真骨頂だ。
な)なにそれ……
だったら、さっきのいらないじゃないですか!
くっ、係長!俺をはめたんですね!あいつを糠喜びさせてやろう!と。
係長に踊らされてただけなんすね。傷心の美少女なんですね!あたいの心は弄ばれて、ハートブレイク、なんすね!
係)ああ、そうだな。
な)聞いてる!? いや、聞いてない!?
係)EVALUATEはロジックを整理するための日本語みたいなもんだ。
だから、お前がさっき言った“インデントでわかりやすい”って感覚、実はもうCOBOL脳になってきてる証拠だ。
な)え、COBOL脳……!?
係)お前の脳みそのシワが、いまEVALUATEの形になってるな。
な)うわー、じゃあネストしたらシワもネストになる!?
係)そうだ。
……お前のシワ、もうすでに読みにくそうだな。
おむすび
な)なんかCOBOL脳って響きがださいんですけど…
もっとエクセレントビューティフルデンジャーブレインとか言ってほしいものですよ。
係)デンジャーってのはあってるな。
デンジャーってだけじゃなく、踏み外して悪の道に走るまではありそうだが。
な)係長は顔がデンジャーじゃないですか!
係)どこがデンジャーなんだよ!
係長のワンポイント
ALSO を使った EVALUATE は“縦に入れ子”ではなく“横に並べて同時比較”する構造だ。
GRADE も SCORE も一行で評価できるから、分岐が一気に読みやすくなる。
ALSO OTHER や ALSO ANY は“片方だけ外したい時”の受け皿として超有効だ。
条件が増えるほど入れ子は事故源。横並びにできるなら迷わず ALSO を選べ。
EVALUATE は“構造でロジックを書く”ための文法──書けば書くほど頭が整理される。

コメント