From: Jordi Date: 2007-11-20T10:19:57+09:00 Subject: [ruby-dev:32321] 1.9のメソッドの名前 このメールはruby-coreの60メール以上のthread(method names in 1.9)の結果の翻訳です. このいくつかのメールの後の結果は: 1.- Object.send(メソッドの名前)について .send を使うけど "send"をしていません。実はそのオブジェクトは命令を受けている。sendの意味はそのオブジェクトは外にデータを送るみたいです。だからいくつかの新しい名前を提案しました: Object.dispatch(メソッドの名前) Object.invoke_method(メソッドの名前) Object.invoke(メソッドの名前) Object.private_send(メソッドの名前) そうだったら protected_send と public_send も作ります。 それに、そのメソッドはprivate methodを呼べるから 名前に ! を使ったらいいです。 2.- method_missing の使いかた Rubyの初めの一歩のページを読んだらそのように説明しています: Rubyのメソッドだったら呼ばれていないでいつもメッセージを受けます。 しかし、.method() と .send()が 違います。 .method()と Method.call()は method_missing を使いません。send()はmethod_missingを使います。だから、Ruby-coreの人でもRubyのメソッドは call and messages があるかどうかはっきりわかりません (Ruby だったら .method() == call , .send() == メッセージだと思った人もいました )。.method()と.send()のbehaviourが違うのはちょっとびっくりします。 ーー ジョルディ