[#1381] bound method — shugo@... (Shugo Maeda)

前田です。

21 messages 1998/02/04
[#1383] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#1384] Re: bound method — keiju@... (石塚圭樹 ) 1998/02/05

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

[#1385] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#1387] Re: bound method — keiju@... (石塚圭樹 ) 1998/02/05

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

[#1388] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/05

まつもと ゆきひろです

[#1389] Re: bound method — keiju@... (石塚圭樹 ) 1998/02/05

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

[#1396] Re: bound method — matz@... (Yukihiro Matsumoto) 1998/02/06

まつもと ゆきひろです

[#1410] GD — Masao Kanemitsu <masao-k@...>

30 messages 1998/02/10
[#1411] Re: GD — matz@... (Yukihiro Matsumoto) 1998/02/10

まつもと ゆきひろです

[#1413] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1417] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/10

<199802100623.PAA03533@eban.ase.ptg.sony.co.jp> の、

[#1420] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1426] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/10

<199802100733.QAA04028@eban.ase.ptg.sony.co.jp> の、

[#1428] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1429] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/10

<199802100757.QAA04212@eban.ase.ptg.sony.co.jp> の、

[#1431] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/10

わたなべです.

[#1434] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/12

<199802100952.SAA04346@eban.ase.ptg.sony.co.jp> の、

[#1435] Re: GD — WATANABE Hirofumi <watanabe@...> 1998/02/12

わたなべです.

[#1436] Re: GD — Masao Kanemitsu <masao-k@...> 1998/02/12

<199802120449.NAA00398@eban.ase.ptg.sony.co.jp> の、

[ruby-dev:1387] Re: bound method

From: keiju@... (石塚圭樹 )
Date: 1998-02-05 07:00:59 UTC
List: ruby-dev #1387
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :01385 ] the message: "[ruby-dev:1385] Re: bound method
", on Feb/05 13:56(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>|役に立たないと言うのは気になりますね. bound_methodはレシーバと言うパラ
>|メータが固定されていますから, 利用価値から言えば unbound_methodの方が
>|上になると思いますよ.
>
>「あんまり役に立たない」というのは語弊がありますか? 
>
>unbound_methodの方が自由度が高いというのはもちろん事実なので
>すが,unboundなメソッドでしか実現できない事というと,クラス
>間のメソッドの譲渡などしかないわけで,それが(まあ,実装の都
>合もあるんですが),多くの場合危険である事を考えるとやっぱり
>「あんまり役に立たない」という気にもなるわけですよね.

というか, もうちょっと別な使い方を考えていたんですけど...

ともいつつ, 例を考えていたんですけど, したにあるbound_methodの例にもあ
るように, unbound_methodも文法を拡張しない限り使い勝手はあまり良くない
なと感じました.

  obj.send(unbound_method, arg...)

では, 全然嬉しくないですものね...

そういう意味では, 上記の使い方しかないかも知れませんね.

>メソッドの譲渡が意味があるのはインスタンスの構造が同じ(正確
>に言うと上位互換であれば良い)クラス間だけですよね.Rubyの場
>合は「偶然にも」かなり多くのクラスのインスタンスが同じ構造を
>持っているわけですが,それは実装から言ってもたまたまなわけで
>すから.

確かに実装に依存しているのは問題ありかも知れませんね. 

そのようなクラスのメタ操作は, MFLとソースコードレベルでの操作を組み合
わせる方が良いかも知れませんね.

>|obj.each{|e| func(e)}
>|
>|見たいなものが, bound_methodを導入すると簡単に記述できるような話が, 最
>|近あったと思うのですが, 具体的にどんな感じになるのでしょう?
>
>        map(ary, obj.bound_method(:foo))
>で
>        ary.each{|x|foo(x)}
>
>を表現できるという意味ではないでしょうか?
># 実際に書くと全然簡単じゃないな

でしょ. 使いやすくするには, もうちょっと文法でサポートする必要があるん
じゃないですかね?

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread