振替休日ではあるが、体調の優れない人が数名いたので、 ぐたぐたとして過ごす。
夕方からはさすがにこれではいけないだろうと、 一念発起して近所のボーリング場に出かける。
いや、久しぶりのボーリングはなかなかうまくいかないものだ。 私のスコアは120。もっとも子供用のガーターレールに数回助けられたので、 本当ならもうちょっと(だいぶ?)成績は悪かったはずだ。
インスタンス変数の次はクラス変数。
Rubyのクラス変数(@@fooのようなもの)は、クラス変数という名前ではあるが、 その実体は「一番内側のclass/module文で定義されているクラス(またはモジュール)をスコープとするグローバル変数」である。
だから、クラス定義のボディ部でも、メソッド内部でも、クラスメソッド内部でも、 あるいはそこで定義されている特異メソッド内部でも、とにかくclass文の範囲内では同じ変数が見える。
ここまでは(一度分かってしまえば)問題ない。
現在の仕様ではクラス変数への参照が行われた時、以下の順序で探索が行われる。
しかし、これではクラス変数がどのクラスに属するかすぐにはわからない。 それだけではなく、代入が行われるタイミングによってクラス変数が所属するクラスが変化する可能性さえある。
そこでRuby2ではクラス変数は必ず一番内側のクラスに所属することとし、 スーパークラスへの探索は行わない。 もしサブクラスからクラス変数にアクセスしたい場合にはアクセサを用意することで対応する必要がある。
確かに似てはいる。そっくりと言ってもいい。 パクったのは誰の目にも明らかだ。
FCCのキャラクターはパッとみたところ,ドラえもんにそっくりなのだが,本物ではネズミにかじられてなくなったはずの耳がついているし,手はミトン型,服も着ていて,色も違う。名前は「Broadband」といい,どうやら「別人」のようだ。
ちゅーか、色が違う時点で、いくら似てても別人だろう。これで色が青けりゃ話は違うと思うけどな。 小学館も少々「似ている」キャラクタを使ったくらいで、
今後,FCCに対して書面を送り「ドラえもんというキャラクターが存在すること」「似ていると認識していること」「商標登録する場合には事前に相談すること」などを伝える予定にしている。
なんて反応をするのはいかがなものかと。いいじゃん、おおらかにとらえれば。 FCCなんて政府(関連)機関だったのが問題なのかな。 「ただちに使用を中止しろ」と言わないだけマシと考えるべきなのか。
いや、まてよ。
「ドラえもんズ」の中には色が黄色いのやオレンジ色のもいたような気がするな。こいつらには耳もあるな。 小学館が問題にしているのは、もしかしてこっちの方か。
あーあ、パメラ・ジョーンズ、OSRM辞めちゃったよ。Groklawをやめるわけじゃない(らしい)のが救いだな。
小学生二人はおたふくかぜ。中学生は喉が痛い、頭が痛い、とのことでお休み。 私も耳の下辺りが痛いようなので会社は休み。
結局、平日なのに全員が自宅にいるという事態に。 しかし、出られないからストレスがたまってるし、 唯一ごきげんな末娘は元気にあちこちものをひっくり返すし、 紙やら本やらをやぶろうとするしで、親はあんまり休息できない。
なんか疲れる一日であった。
Linusはあまり外に出ないって話。私もそうしようかなあ。
でも、結構人と会ったり、話したりするのは好きだったりする。 田舎にいるせいであまり頻度は高くないからちょうどいいのかもしれない。 これで東京近辺にいたら勉強会やら各種イベントやらの出席でより忙しかったかも。
でも、先日、森田さんがFranz IncのFritz Kunzeに会ったときには、先方から「Rubyのまつもとに会ってみたい」と言ってくださったようで、 このときばかりは機動性の低い田舎にいたことを残念に思った。
いろいろ書きました。今月は合計20ページも書いたことになる。 がんばったなあ。
で、これに関して個人的に一番面白かったのは、 「Rubyの神髄」を推測したYuguiさんの記事。 また、Yuguiさん自身の言葉にも感銘を受けた。
Rubyは本当に、昨今のある程度知られた言語たちに比べて真新しい点というのはないと思うんです。言語機能に関してはまつもとさんが常々おっしゃってるとおり「C言語で実装してある処理系の間であれができるこれができるというのを競っても意味がない」ですし。構文もどこかで見掛けたようなのを細かくチューニングしているに過ぎないわけです。殊に、この特集の中でJavaScriptやEiffelと並べられると非常に弱い。でも、チューニングするにあたって、やはりRubyの個性が出てきている筈で、私がRubyを習得するにあたり「こいつ本物のアホだ(褒め言葉)。普通こんなんやらない」と思ったような点をひねくり回してRubyの個性をできるだけ描写しようとしてみました。
Rubyはなー、本当にブロックの終わりがendであることとメソッドがオブジェクトでないこと以外は極めて普通だと思う。逆に、なんで他の手続き型/オブジェクト指向/動的強型付言語はRubyじゃないんだろう。
まさにその通り。さらに言えば、ちょっと昔だとendで終わることも普通だった。 AlgolとかAdaとかModulaとかEiffelとか。
で、「なんで他の手続き型/オブジェクト指向/動的強型付言語はRubyじゃないんだろう」というのは、私にとっても興味深い謎である。現時点では「デザイナーの趣味が違うから」以上の答えを持ってない。
X61のキーボードにゴミがたまってたんで、掃除してたら スペースバーがはずれた。
なんか元に戻らない。いろいろ苦労してパズルを解くようにしてたら、 とりあえずはまったけど、前より浮いた感じがする。 たまにスペースを取りこぼすし。
どうしたらいいんだろう?
キーボード交換するしかない?