私が直接は知らない人が真剣にRubyをビジネスに使うことも 増えてきて、 最近、プレスでRubyやRuby on Railsの名前を見ることも珍しくなくなった。 そろそろ、いちいちフォローする必要もないのかなあ。
でも、うれしいけど。
[ruby-talk:234949]の提案に従い、 Methodオブジェクトに
の各メソッドを追加した。しかし、続いてこれらのメソッドの名前は 適切かどうかの議論が巻き起こる。
一番、もめた(もめている)のはreceiver。 つまり、obj.method(:foo)で取り出してきたものは メッセージを受け取ったものではないので、 receiverは適切ではないだろう、という話。
確かに普通、メッセージセンドというとメソッドの実行までを含めるから メソッドの選択と取り出しだけをメッセージセンドと呼ぶのもおかしいと言えば おかしい。
一方、Methodオブジェクトを経由しようと、通常のメソッド呼び出しだろうと selfの役割が変わるわけではないことを考えると、 receiverという名前が不適切であると言うことは selfのことをreceiverと呼ぶことそのものが不適切ということになる。
では、selfはreceiverではないのか。私はずっとそう呼んできたんだけど。
あるいはメッセージセンドというモデルを持たないC++やJavaでは thisのことをなんと呼ぶのか。まさかreceiverじゃないよね。