[#950] ruby 1.1b0 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

33 messages 1997/12/05

[#998] ruby 1.1b1 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

48 messages 1997/12/09
[#1011] Re: ruby 1.1b1 released — Kazuhisa Yanagawa <katze@...> 1997/12/10

in message-id: <199712090833.RAA31727@picachu.netlab.co.jp>

[#1013] Re: ruby 1.1b1 released — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1028] Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/10

原です。

[#1030] Re: Regexp#operators (Re: ruby 1.1b1 released) — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1033] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/10

原です。

[#1049] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/11

原です。

[#1064] Re: Regexp#operators (Re: ruby 1.1b1 released) — matz@... (Yukihiro Matsumoto) 1997/12/12

まつもと ゆきひろです

[#1097] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/15

原です。

[#1002] Object#bind — shugo@... (Shugo Maeda)

前田です。

39 messages 1997/12/09
[#1008] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1023] Re: Object#bind — shugo@... (Shugo Maeda) 1997/12/10

前田です。

[#1026] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1044] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/11

けいじゅ@日本ラショナルソフトウェアです.

[#1051] Re: Object#bind — shugo@... (Shugo Maeda) 1997/12/11

前田です。

[#1063] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/12

まつもと ゆきひろです

[#1079] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/14

けいじゅ@日本ラショナルソフトウェアです.

[#1084] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/15

まつもと ゆきひろです

[#1087] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/15

けいじゅ@日本ラショナルソフトウェアです.

[#1088] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/15

まつもと ゆきひろです

[#1085] [Req] object refference — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

12 messages 1997/12/15

[ruby-dev:1157] Re: Object#bind

From: shugo@... (Shugo Maeda)
Date: 1997-12-19 08:39:02 UTC
List: ruby-dev #1157
前田です。

In message "[ruby-dev:1155] Re: Object#bind"
Yukihiro Matsumoto <matz@netlab.co.jp> wrote:

|でも,selfのクラスとメソッドが仮定しているselfのクラスが食い
|違っちゃうので,selfに対するメソッド呼出とかがうまくいかない
|可能性は高いですね.とはいえ,これは自分の責任だということに
|なると思いますが.

あと再帰呼び出ししている場合も元のメソッドをオーバーライドすると
まずそうですが,これはaliasでも同じですね。

|それと,やはりメソッドの仮定しているオブジェクト構造と実際の
|オブジェクト構造の食い違いの問題は残りますね.
|
|もし,仮にUnboundMethodを採用するにしても,上のふたつの問題
|からある程度の制限がつくと思いますが,それはどの程度のものな
|ら許容できるのか,あるいはそもそもUnboundMethodは必要なのか,
|という点についてもう少し考察する必要がありそうです.

Cで記述されたクラスのメソッドは取り出せない,という制限は
それほど気にならないのですが,UnboundMethodは必要か,とい
うと難しいですね。
BoundMethod/UnboundMethodと分けるのは止めて,石塚さんのイ
メージするBoundMethodのようなものをMethodという名前で用意
しておけば,十分かもしれません。

例えば,

-------------
Module#method(mid)
メソッドを取り出す。

Method#defined_class
メソッドが定義されているクラスを返す。

Method#name
メソッドの名前を返す。

Method#invoke(recv, ...)
recvをレシーバとしてメソッドを呼び出す。
method.invoke(recv)とした時,recv.kind_of?(method.defined_class)が
真でない場合はIllegalReceiverErrorをraiseする。

クラスにMethodのインスタンスをメソッドとして追加するメソッドは
用意しない。
--------------

という案はどうでしょう。

-- 
前田 修吾

In This Thread