[ruby-dev:24309] Re: Procのブロック呼び出しメソッド名を自由に設定

From: Nowake <nowake@...>
Date: 2004-09-22 12:42:02 UTC
List: ruby-dev #24309
野分です。

> それはどうなんだろう。考えてもみなかった発想ですが、フレキシ
> ブルすぎてワケワカのプログラムを発生させそうです。

ある意味逆転の発想ですからね。

根っこには従来のProcの不満点

1.クロージャを実際に使用している部分のコードを読むときに、
  「ブロックをcallする」というコードでは実際に何を行っているのか
  わからないことがある。
  ->どういう機能を実現するのか(コメント無しで)わかるようにしたい
2.クロージャを使って多態をすると(callを使わなくてはならないので)
  他のオブジェクトとの相性が悪い
  ->他のオブジェクトと同じメソッドで扱いたい

があります。

まつもとさんが危惧されているのは2.に関連する部分(Procを使って他のオブジェ
クトとのお手軽な多態を行ってしまい、Procなのか本物のオブジェクトなのか解
らなくなる)かと思いますが、同じメッセージを受け付けることができるのなら
ば使う側からは同種のオブジェクトとして扱っても問題無いでしょうから、それ
ほど心配する必要は無いかと思います。

以上です。


In This Thread