日曜日が終わってしまうので、ここらで一発、何らかの生産的な行動をやっていきたいぞ、と思ったわけですけども、なぜかこうして増田に張り付いています。
前頭前野の敗北であり、辺縁系の勝利です。勝利、勝利、大勝利。長良は辺縁系ではありません。
なぜか私のPCデスクには知恵の輪が転がっています。なぜでしょう。お見舞いでもらった品です。なぜ知恵の輪。ボケ防止にとのことでしたが。
ところで、先程PCデスクと言いましたが、これは厳密に言うと、いえ別にそんな厳密とかじゃなくて普通に言ってそうなんですが、私が今パソコンを置いている場所は、PCデスクなどという大層な代物ではありません。
というかデスクですらありません。
私は椅子の上にディスプレイとキーボードとマウスを置いています。
正確には、椅子の上に、ホームセンターで買った合板を乗せて、それを机とし、周辺機器を乗っけているのです。
これは案外便利です。広い、安い、手軽、収納しやすい。見た目のアレさにさえ目をつむれば、非常に合理的な選択であると言ってよいでしょう。
あるいは、見た目などという些事に囚われていないことが、余計に合理的な選択であることを強調している、とさえ言ってもよいかもしれません。
ところで、さっきまで、やむを得ない事情により、VBAなる恐ろしい言語を使っていたのですが、これには様々な謎仕様があるようです。それらは名状しがたき恐怖で我々を戦かせます。
一般的に知られていると思われる謎仕様と致しましては、例えば、配列におけるReDimなるステートメントが上げられるでしょう。
他にも、例えばマクロの高速化のための方策として、範囲を配列に代入するというテクニックが紹介されることがありますが、この配列と範囲との間にも謎の関係性が存在しています。
この手のソフトウェアを扱うに当たり、いちいち一つずつセルに値を書き込むことはご法度、というのが定番ではありまして、私も素直にこの定石にしたがい、セル範囲を二次元配列に格納したりしております。
しかし、範囲を配列に代入した場合、その配列の要素のインデックスは、どうも1から始まるようなのです。
なぜ1スタートなのでしょうか。VBAの仕様においても、配列の添字はいちおう0から始まることになっているのですが、範囲を配列に格納した場合、0行0列の要素は空となっており、Array(1,1)にRangeの始点の値が格納されております。
まあたとえ1スタートであっても、言語内で仕様が統一されているのであれば、まだよいのです。
しかしここが彼の言語の恐怖ポイントなのでありまして、どういうことかといいますと、
すなわち、今度は逆に配列を範囲に代入、すなわち配列の各要素の値を対応する範囲のセルに書き込む場合、インデックスが0である要素から順に処理されるのです。
範囲を配列に代入するときはインデックスが1から始まるのに、配列を範囲に代入するときはインデックスが0から始まるのです。
Array = Range
Range = Array
とすると、一番上の行と一番左の列が、空白行、空白列になってしまうのです。
なんですかこれは。誰が考えたんですか。おかしいでしょう。私はおかしさのあまり死にました。
この理不尽さに比べれば、Collectionなる連想配列の添字が1から始まることなど些事に過ぎません。
昨日までJavaJavaしていた人は、どうやら配列なんぞには目もくれていなかった様子でしたので、この謎仕様に気づくこともなかったのでしょうが、悲しいことに、この謎仕様の配列を用いた高速化テクニックはほぼ必須のスキルでありますので、例の御人も、遅かれ早かれ、この罠に絡め取られていたことでしょう。
あるいは、この謎現象を回避するための方策はきちんと用意されており、無知な私はそれを知らないがゆえに、このような的はずれな不満をぶちまけているのかもしれません。
しかし、上述したような単純かつ直感的な代入が上手くいかないという仕様は、やはり、なかなかの欠陥ではないかと思うわけです。
まあそんな愚痴はどうでもいいのです。変な仕様は適当にハックしてやればよいのです。
でもクラスモジュールとやらのパワーは貧弱なのでそれも大変困難ではあります。
標準モジュールでライブラリもどきをちまちまと作っていくしかないのでしょうか。
とてもではありませんが、こんなもんを極める気にはなりませんので、そこら辺のことをいい感じにまとめてくれている知見があればよいのですけれども、しかし、まともな人間はこんなもんを相手にしたりはしない、というパラドックスがあります。
(https://sites.google.com/site/compositiosystemae/home/vbaworld/upper/interface はわりとよかったような気がします。システムハンガリアン使ってますけど)
こんなもんを扱わざるを得ないような環境に留まってしまっている私がおかしいという話もあります。
悪いことは言いません。pythonで書かせてください。お願いします。
そんな増田の切なる願いは、社会という名の抗いがたい泥沼に絡め取られ、今日も悲しみに満ち満ちたコードを生成していくのであります。
そういえば今日は休日でした。休日は普通楽しいものなのではないでしょうか。どうしてこんな悲しい気分になっているのでしょう。
答えは簡単でして、悲しいことを書いているからです。楽しい気分になるには、楽しいことを書く必要があります。
楽しいこととは何でしょうか。例えばオナニーなどが挙げられます。人生において、オナニーよりも楽しいことは、あまりありません。
よって、楽しくなるには、オナニーの話をすればよいです。
私は一時期、DLditeで同人音声を漁っておりまして、催眠に掛かるべく邁進していた時期もありました。
なぜ私は催眠に掛かれないのか。
集中力の欠如、衝動性の強さ、慢心、環境の違いなど、様々な要因が考えられますが、最も大きな原因と思われるのは、台詞がめっちゃ気になることです。
おっさんが考えた可愛い二次元の女の子みたいな台詞が、えらく癇に障るのです。
そのために、可愛らしい女性の声に没頭できないばかりか、声によって現実に引き戻されてしまう、という逆説に襲われるのです。
おっさんは蓮を咲かせる泥だという話もありますが、恐らく、真に良質な泥おっさんというのは、非常に稀な存在なのでしょう。
つまり、いいおっさんは泥ですが、悪いおっさんはゲロということです。
しかし、これもおっさんに限らず、大抵のことに言える話でありまして、良質なものはどこでも少ないものです。
生の増田を見てもそうでしょう。
ホッテントリに上がる増田しか見ないライト増田、あるいはブクマカには想像もできない世界が、生の増田には広がっています。例えばこの増田とかです。
(これは私見ですが、VIPやなんj、あるいは虹裏などと比べても、増田の毛色は違います)
増田のほとんどは泥であり、ホッテントリに上がった増田は花なのです。
何だかまた悲しい話になってるじゃないですか。なぜ私はいつも悲しい話をしてしまうのですか。
それは恐らく、心の通奏低音(俗用)のようなものが、悲しみに染まっているからです。