From: Jordi Date: 2007-12-16T17:33:47+09:00 Subject: [ruby-dev:32613] Re: 1.9.1 issues left (as of 12/15) ------=_Part_5149_16472809.1197794025124 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Content-Disposition: inline You may consider this: 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が違うのはちょっとびっくりします。 ーー ジョルディ On Dec 16, 2007 12:53 AM, Yukihiro Matsumoto wrote: > まつもと ゆきひろです > > 現時点で(バグフィックス以外に)考えなくちゃいけない点は以下の > ものだと認識してます。足りないことに気がついたら追加してくだ > さい。 > > * assignment by named capture [ruby-dev:32588] > * symbol aliases (! and !@ and !(unary)) > * immediate freeze (freeze? exception? or ignore?) > * how rb_iterate passes the argument to callback > * open("path", "r:euc-jp:utf-8") > * open("path", "w:euc-jp") > * open("path", "w:euc-jp:utf-8") > * encoding_valid? is OK? > * transcoding > > -- Jordi Polo Carres Natural language processing laboratory NAIST http://www.bahasara.org ------=_Part_5149_16472809.1197794025124 Content-Type: text/html; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Content-Disposition: inline
You may consider this:

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が違うのはちょっとびっくりします。

ーー
ジョルディ


On Dec 16, 2007 12:53 AM, Yukihiro Matsumoto < matz@ruby-lang.org> wrote:
まつもと ゆきひろです

現時点で(バグフィックス以外に)考えなくちゃいけない点は以下の
ものだと認識してます。足りないことに気がついたら追加してくだ
さい。

 * assignment by named capture  [ruby-dev:32588]
 * symbol aliases (! and !@ and !(unary))
 * immediate freeze (freeze? exception? or ignore?)
 * how rb_iterate passes the argument to callback
 * open("path", "r:euc-jp:utf-8")
 * open("path", "w:euc-jp")
 * open("path", "w:euc-jp:utf-8")
 * encoding_valid? is OK?
 * transcoding




--
Jordi Polo Carres
Natural language processing laboratory
NAIST
http://www.bahasara.org
------=_Part_5149_16472809.1197794025124--