><https://twitter.com/orange_in_spacehttps://pawoo.net/@orange_in_space
こうなった><
実際に書いて気付いたけど、反転してるのかtrueを代入してるのかがパッと見わかりづらい><;
Rustのコードでも^=trueって書いてる人が大量にいるって事は、たぶん問題無さそう><(Rustを選択する人=変な書き方したら怒る人々のイメージ><;)
今度からは ^=true; を使おう><;
ていうか、^=trueって、githubで検索してみたらわりとメジャーなノウハウっぽさ?><;https://github.com/search?q=%22%5E%3D+true%22&type=code34.8k件もヒットした><
ひっくり返したいものが長いなら^= true;を使うってノウハウはあってもよさそう><(最適化されそうだし><)でも、意図がわからない人には「なんでわざわざこんな書き方したの????」ってなりそう><;
何を書いてる時にそう思ったのかというと、GUIのリストビューのヘッダをクリックした時に「『ソートを逆にする』フラグ」を反転する必要あるじゃん?><「『ソートを逆にする』フラグ」=!「『ソートを逆にする』フラグ」;って行をタイプしてる時に、「!=って演算子はあるのかな?><」って思ったのが発端><
hogefugapiyopiyohogefugapiyo=!hogefugapiyopiyohogefugapiyo;とか打ちたくないじゃん?><(長いのはどうせ補完使うのはあれだけど><;)
オレンジの本題的には、それでいうflagを2回タイプするのめんどいのをどうにか短縮できないか?>< だったのでなんか話題が違う気がする・・・・><
if ( flag == false ){ // ...}
と書く学生もいる。Null許容型を使っているなら分かるんだが。
if ( ! flag ){ // ...}
とかも理解できない、という人もいる
これ理解できない人には理解できないらしい
コンパイル通るというか正式な構文にすると読みづらすぎるけど、補完用ならばいいかも案><
コンパイルは通らないけど、intellisenseは !=; を ^=true; とか =!hoge; に展開してくれるのであれば、タイピングの節約として便利そう><hoge = !hoge; をhoge[!][=][Tab][Tab][;]って打てる補完><
hoge !=;をhoge ^= true;の糖衣構文にしたら目的果たせそうだけど、イコールの右に何もないの気持ち悪すぎるね><;
C# で論理ひっくり返したい時にhoge=!hoge;って書くの、ボケっと「複合代入演算子使えないのかな?><」って思ったけど、よく考えたらどう書くんだってなるという事に気づいた><;(XORの複合代入演算子を使えば同じような感じだけど、あんまり短縮にならないし><;)
オレンジが初めて使ったSSDであるCrucialのSATA SSDのファームウェアアップデートした時は、なんか大掛かりに専用に起動してなんかしてたけど、10年くらい経って便利になった?><(?)
DellのラップトップのSSDのファームウェアアップデート来たからアップデートしたけど、再起動が要求されなかったけど、そういうものなのかな?><;(なんもわからんので直感的にはSSDをコールドリブートしなきゃいけないような気がするけどサイレントにホットリブートした?><)
そういえば、日本語の「自由」と英語の「freedom」と「liberty」両方に対応するけど、フリーソフトウェアのフリーを、RMSは「日本語に『自由な』って言葉があって、それの方が正しい意味に近い」的な発言をかなり前の来日時にしてた事があるけど、大半の日本人がfreedom/free/libertyのニュアンスの違いを辞書的にしかわからないように、アメリカ人でしかも日本語わからんRMSが『自由な』って日本語をどう捉えてたのかって、ちょっと謎><
「天は人の上に人を造らず人の下に人を造らず」のとこだけ有名だけど、別に福沢諭吉は人類平等を訴えてるわけではないし、この部分はアメリカ独立宣言の引用なんだと。
思考の /dev/null