まつもと ゆきひろです
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という素
晴らしい言語に満足してますから,これ以上はあまり意味がないん
ですけどね.
まつもと ゆきひろ /:|)