書いた><
形状も色もダメ (#.4428959) | 点字ブロックに隠れアンパンマンの仕掛け、視覚障害者から危険と指摘で交換へ | スラド https://srad.jp/comment/4428959
2023年3月15日
走行距離100万キロ 走ってみたらどうなった? | NHK | ビジネス特集 https://www3.nhk.or.jp/news/html/20230315/k10014007831000.html
昨日の配信の1:34:00辺りとか、空の具合とか的にもかなりWindows XP><
"BigRigTravels LIVE | Lebec to Sacramento, CA (3/16/23 11:24 AM)" を YouTube で見る https://www.youtube.com/live/sxTunnRsxX0?feature=share
イリノイのおじいさん、昨日からカリフォルニアのセントラルバレーを走ってるけど、3月のセントラルバレーってあちこちがわりとWindows XPっぽい><
"BigRigTravels LIVE from Sacramento, California. ( Mar 17, 7:06 AM )" を YouTube で見る https://www.youtube.com/live/uKuQj2ZpWXo?feature=share
まああとオマケで、 ! 演算子が前置と後置の両方で使えるのも x !is not null (本当は x! is not null 相当の解釈をされている) の勘違いが通ってしまう原因なので、そこは記号を変えるなりすべきで前置/後置演算子両方あり (しかも意味は全然違う) みたいな割当は避けるべきだった
あー、もしかして early return する if の場合は後続コード全てが暗黙に else 節に入っているというセマンティクスになってる?
なら理解はできるけど、名前の導入くらい重要なことはちゃんと専用の文法を用意しなよと思うわ
ところが最後のコード例を見ると残るっぽい書き方になってる
たとえば 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/