作者: 機械伯爵
日時: 2004/3/14(12:42)
 機械です。

 質問お答え、ありがとうございます。

> Rubyでは
> 
>   obj.meth(a,b,c)
> 
> はobjのmethメソッドの呼び出しであり、それ以上でもそれ以下で
> もありません。メソッド呼び出しのような基本的な処理にメソッド
> オブジェクトを陽に取り出す意味が見いだせなかったからです。

 Python,Schemeと、メソッドがオブジェクトであるのがあたりまえの
言語ばかりにあたっていたので、メリットがあるのが当然と考えていた
のですが、改めて考えてみると、メリットは確かにあるものの(関数を
リストにぶちこんで反復処理させるなど)それを基本とするほどの根拠
は確かに薄いですね。

 統一的な扱いは、一見単純に見えますが、1+1の1と+を同じ扱い
に出来るかどうかは、異論があると思います。

※一般的な感覚からいえば、一緒のほうが「とんでもない」かな?

 現在、Pythonでは基本データ型も完全なオブジェクトとしての扱いが
できるように変更されつつある一方、従来のメソッドオブジェクトとは
扱いの異なるプロパティなどが出てきていますので、今後はこうした
方針も微妙に変化していくかもしれません。

 そこらへんを見つつ、メソッドや関数のオブジェクト化として扱う
意義(関数型プログラミング?)などを考えてみたいと思います。

   /機械伯爵/