[#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:1172] Re: Object#bind

From: keiju@... (石塚圭樹 )
Date: 1997-12-25 11:51:03 UTC
List: ruby-dev #1172
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :01168 ] the message: "[ruby-dev:1168] Re: Object#bind ",
on Dec/25 10:57(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>superは「このメソッドが定義されているクラスのスーパークラス」
>からメソッドを検索しますが,selfに対するメソッド呼出しは結局
>は(visibilityのことを除くと)通常のメソッド呼出しなので「self
>のクラス」からメソッドを検索します.selfとメソッドオブジェク
>トが束縛されているクラスが異なると「一時的にselfのクラスが差
>し変わる」ような実装にする必要がありますが,これは実装上かな
>り大変です.

うーん. そうですか... superの差し替えの実装とはだいぶ変わってくるんで
すね... 

>それに多分fooとself.fooが全然違うメソッドを起動する可能性が出ちゃうん
>で,混乱の元にしかならないような.

実装するんなら, 当然それも変えて欲しいんですけどね(^^;;;

>なんか,こうあちらの問題を潰すとこちらに別の問題が出て来るよ
>うなのはもうちょっと整理してからでないと実装にかかりたくない
>気分があります.

それはいえますね.

>|ただ, UnboundMethodの用途は, 
>|
>|* Methodのクラス間移動(他のモジュールへの束縛)
>|* レシーバのクラスを限定しないapply
>|
>|にあると思うのですが,

>確かに.しかし,これらは同時に実現してしまうとrubyの実行モデ
>ルをかなり変えてしまうものであることも確かですから,十分な検
>討が必要なようにも思います.

だいぶ違ったイメージになりますよね. ですので, いっそのことrubyの実行モ
デルを変えた方がすっきりするかなと...

>|rubyで書かれたクラスのデータ構造はメソッドの呼び出しによって決まるもの
>|であり, クラス継承とは関係ない(メソッドの呼び出しがクラス継承を用いてい
>|るので間接的には関係ありますが)ですよね.
>
>全部のオブジェクトに対してこれが真ならもうちょっと楽なんです
>けど,実際は「オブジェクトのかなりの割合はそうである」に留まっ
>ていますよね.

そうなんですよね. 

>それは…CLOSのメタオブジェクトプロトコルなみの実装を考えれば
>不可能ではないでしょうけど,なんかRubyの(それに*私*の)手に余
>るような….

そこまでする必要はないですかね...

と, 何も話しがなかったですが.

私の現在の私の感じは:

1. rubyの実行モデルを大幅に変えちゃってもいいというのなら, それはそれ
で面白いかなって感じを持っています.

そうじゃなければ.

2. selfの問題もありクラスが不定のUnboundMethodは使えそうもないと思いま
す. 松本氏は, それは使う側の責任といっていましたが, どうなっているか分
からないので実際には利用は難しいかなと思います.

3. レシーバをそのメソッドの定義されているクラスのサブクラスに限定する
ならば, 動作はaliasと同じになるので(ですよね?)問題なく使えるかなってかんじ
です. で, これはC++でいうところのメンバ関数へのポインタみたいなものな
のでそれなりに使えるのではと思っています.

で, 上記(3)の実装が(2)と変わらないのなら, サブクラスに限定することもな
いかなと思います. でも, プリミティブなデータ構造の問題があるから無理な
のかな...

それで, selfが固定された本来のBoundMethodですが, それはそれで利用する
場面もあると思うのですが, それよりかは上記(3)または(2)の方が使いやすい
んじゃないかなと思います.
__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread

Prev Next