まつもと ゆきひろです

In message "[ruby-list:9034] Re: あなたのウロコみせてください  (Re: FAQ)"
    on 98/08/11, 助田 雅紀 <masaki.suketa / systemplaza.co.jp> writes:

|>それよりなにより,string.split(str, sep)というのは
|>str.split(sep)と比較してうっとうしい.
|string.split の string って何者ですか? オブジェクトでしょうか?
|クラスでしょうか? split は、この場合クラスメソッドってことに
|なるんでしょうか?

pythonの string.split(str, sep) の意味は

  stringモジュールの属性splitの値(関数)を
  (str, sep)を引数にして呼び出す

です.クラスメソッドっていうんじゃなくモジュールの中の単なる
関数ですね.rubyとはモジュールの意味が違うんでちょっぴりやや
こしいですが.

pythonでは文字列,配列,辞書(ハッシュ)のようなオブジェクトが
メソッドを持ちません.これは恐らくこれらのオブジェクトが設計
された時点ではpythonがオブジェクト指向言語でなかったことを反
映しているのだと思うのですが,私には気に入らない点です.今か
ら追加しても問題ないと思うのですが.

そのくせ,fileはちゃんとメソッドがあるんだよな.

これらのオブジェクトがちゃんとメソッドを持つ「普通のオブジェ
クト」になって,Cレベルでもクラスが定義できるようになって,
リファレンスカウントでない普通のGCが導入されたら,私的な基準
ではずいぶん使いやすい言語になると思います.

が,しかし,Guido氏にはそのようなつもりはないようですし,私
にはそれらの条件を全部満たす上に自分の自由になるrubyという素
晴らしい言語に満足してますから,これ以上はあまり意味がないん
ですけどね.
                                まつもと ゆきひろ /:|)