たとえば C++ でも if(auto x = hoge) {...} における x のスコープは then 節と else 節の中で済んでいるはずで、「if の条件の形で if 外から参照可能な名前を宣言/定義する」というのは妙じゃないですか?
で、次に妙なのが、バインドを伴うパターンマッチと boolean の式としての条件式が同じ書き方をできて、しかもそのバインドのスコープが if を抜けた箇所まで残ってる部分。
if (a.X is not { } x) return;
の後ろまで x が残るのは普通にうわぁとなります (ブロックスコープのない Python かよ……)
Rubyを例に出したのはこれを参考にした><
"Ruby: それはstdlibに搭載されているモジュールをrequireすると、整数割り算の動き方に影響を与えてしまう言語。"
Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD https://postd.cc/sick-of-ruby-dynamic-typing-side-effects-object-oriented-programming/
C# の null 判定の話 | ++C++; // 未確認飛行 C ブログ
https://ufcpp.net/blog/2020/12/isnull/
うわぁ……
さらに気づいたけど、もしかしてiron eagleとdreamsの共通の祖先のひとつとしてこれもある?><;
"Kiss On My List" を YouTube で見る https://youtu.be/YOuhYuZLNYw
"Abadabadango" を YouTube で見る https://youtu.be/f2GX38BsHHc
が
"Iron Eagle (Never Say Die)" を YouTube で見る https://youtu.be/CTn-YXatVMo
こうなって(上ふたつ作編曲同じ人)
"Dreams" を YouTube で見る https://youtu.be/bNAop4IRMRo
こうなった(00:29~)っぽい?><;
van halenのdreamsの元ネタって曲のイメージ的にもギター/シンセリフ的にもリリース時期的にもどう考えてもking kobraのiron eagle(never say die)だと思うんだけど、じゃあそのシンセリフの元ネタってあるのかな?>< と思ってちょっと調べたけどiron eagleの曲作った人がその前に作ってたkim carnesのabadabadangoが祖先?><;
"Abadabadango" を YouTube で見る https://youtu.be/f2GX38BsHHc