🧩今日の学び
・EVALUATE ALSOは左右を“1ペア”で評価する高精度条件分岐で、複雑性と可読性のバランスが命。
・OTHERを使うと「片側だけ緩める」柔軟指定ができ、網羅性も崩れない。
・ALSOは2つまで──三角関係を超えると人間もCOBOLも破綻する。
なるお)あれ?
でも、年齢的には速水英介?
となると月影先生のストーカーになっちゃうからなぁ。尾崎一連まで出てきて、放火されたり、そこから大女優になったりするから、話がややこしいよね。
うんうん。
係)…お前、COBOLの話から、なんでガラスの仮面の話になってるんだ?
な)あ!係長も読んでますか!係長も世代ですもんね!
子どもながらにラーメン屋で出前の配達してた自分を投影してました?マヤも頑張れ!でした?係長、ほんとに頑張りましたね…ぐす。
係)どんな情をかけられてるんだ?
な)白黒テレビとか、力道山の水平チョップとか、屋根に登って隣のうちのテレビを見てるなんて…
係)だから俺は何歳なんだよ…
…いやまぁ、いつものとおり、たとえが妙だが、概ね合ってる。
昨日のコードだが、そもそも覚えてるのか?
な)月影先生は、いまだに英介への恨みを持ち続ける、その怒りのエネルギーがすごいなって思いました。
係)…おまえに聞いた自分が本当に残念だったよ……すごいなってなんなんだよ。
ALSOの基礎:左右ペアで判定するEVALUATEの本気
係)もう一回コードだ。
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
MOVE "Try Again" TO TITLE
END-EVALUATE.
EVALUATE ALSOってのは、“左右ペアで1セットの判定を行う”構文だ。
EVALUATE GRADE ALSO TRUE
WHEN "A" ALSO SCORE > 95
MOVE "Scholar" TO TITLE
この行なら、
左側(GRADE)=”A”
右側(SCORE)>95
——両方が真なら実行、ってことになる。
な)ふむふむ「同じ位置のALSOで、1ペアずつ比べてる」ってことっすかねー。
係)そう。
上から順に、“セットでチェック”。
一個ずつ見比べるようなもんだ。
な)順番はどうなんです?SCORE ALSO TRUEに とかできるんです?
係)順番を入れ替えること自体はできる。
ただ、今回は EVALUATE GRADE ALSO TRUE と書いているだろ? 1つ目の GRADE は「値(変数)」そのものを評価する場所だ。 だから、ここには WHEN "A" のように値を書くのが基本だ。
いきなり WHEN > "A" みたいに、不等号などの「条件式」は書けないぞ。条件式を書きたければ、対象を TRUE にしなきゃならん。
な) 係長が使うと「><」かわいいですね!顔文字みたいで!
係) どこ見てんだって!顔文字じゃねーよ!「ノットイコール(不等号)」の話をしてるんだよ!
WHEN “A” ALSO OTHER:片側だけ固定する柔軟指定の世界
…まあいい。
でだ、WHEN “A” ALSO OTHERってのは、左がAのとき、右はOTHER(何でもいい)という柔軟指定。
“左だけ固定、右は任意”ができる。
そして最後のWHEN OTHERでそれ以外全部という意味合いになる。
な)あっ、それめっちゃ便利じゃないっすか!
右側の条件をふわっとできるの、なんか人生みたい!
係)その“ふわっとした人生”の結果が、今のお前だな。
な)ですね!
係)なんで喜んでるんだよ…
お前、体もふわっとしてんだぞ。
な)まぁ、ふわっとしてるのは俺のチャーミー具合ですから。
って、WHEN A ALSO B ALSO C ALSO TRUE ALSO TRUE とかみたいに超複数条件式とかできないんすか?
できるんだったら、詩織さんが出てきて、金持ちの嫉妬プレイが楽しめるってのに。
係)……理論上は“できる”。
な)え、マジで!?
係)ただし、読んだやつが全員バグる。
な)へ!?
係)EVALUATE A ALSO B ALSO C ALSO D
なんてやったら、WHEN句も4段階合わせなきゃならねーだろ。
“全ペア一致で真”になるから、条件式がもはや暗号になる。
な)あー
「Aはマヤ、Bは真澄、Cは詩織、Dは亜弓、Eは月影先生、Fは英介」
…っていう、それぞれの人生を語っていかないといけないわけですね。
でも、語り尽くしたいですねー。ちょっと語ってくるんで、3日ぐらい休んでいいですか?
係)…………
な)…だめだと…
おむすび
係)愛憎もALSOも、2つが限界と考えておけ。
EVALUATE ALSOは強力だが、増やすと関係が壊れる。
2人までなら協調できるが、3人目が入ると破綻する。
——それは人間もCOBOLも同じだ。
な)……それ実体験です?
係)…うるせっ。
な)あ、図星だ!ニヤニヤ
係)だから、うるさいって!
係長のワンポイント
ALSO は“左右をセットで判定する”構文で、入れ子より読みやすい強力な選択肢だ。
左は値比較、右は条件式という“役割分担”で書くと誤解が一気に減る。
OTHER は片側だけ条件をゆるめられる安全弁で、網羅性を保つ要の存在だ。
ただし ALSO を増やすほど条件は指数的に複雑化し、読者が全員沈む。
ALSO は2つまで──可読性は正義、COBOLは人間が読む言語だ。

コメント