【COBOL 読み2-3-2】エモい牛丼〜まだまだEVALUATEとALSO

🧩今日の学び
・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.

ほぼ満点でいいだろう。

※前回の内容はこちら

あわせて読みたい
【COBOL 読み2-3-1】くらえ!連星滅閃 EVALUATE! 🧩今日の学び・入れ子EVALUATEは「外で大分類 → 内で細分類」という二段ロジックで読むと一気に理解できる・TRUE を使った内側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 は“構造でロジックを書く”ための文法──書けば書くほど頭が整理される。

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

この記事を書いた人

コメント

コメントする