藤本です、こんにちは。 From: toyofuku / juice.or.jp Subject: [ruby-list:8090] Re: filename Date: Mon, 25 May 1998 18:18:58 +0900 > 豊福@パパイヤです。 > > 藤本さん > > f = File.new("hoge") > > f.unlink > > ということが、わざわざファイルをオープンしなく > > てもできます。(Javaに似てるなぁ、、、) これ、藤本じゃなくて立石@JAISTさんが書いたです (^^; Javaとの類似点を考える場合、RubyのFileクラスは、インスタンスの雛型と しては、どちらかというとjava.io.FileInputStream、java.io.OutputStream に近く、java.io.Fileに相当するクラスはないと考えるのが妥当のように思い ます。 この件に関連して、僕は[ruby-list:7910]あたりで「『あるファイルやディ クレクトリを特定するクラス』と『ファイルに対する入出力を行なうクラス』 というクラス構成になっているといいと思うんだけどなぁ」というようなこと を書きました。 僕の考えでは、この関連の話しがややこしくなりがちな原因の一つとして、 ファイルに対する入出力を行なうための、IOクラスの派生クラスの名前が、 `FileIO'とかでなく`File'だからじゃないかという気がしています。Fileクラ スのインスタンスに対して、そのクラス名ゆえに、入出力と無関係の役割を期 待してしまい混乱が生じてしまうように思います。 java.io.File(Input|Output)Stream的な性格とjava.io.File的な性格の両方 を一つクラスにするのには無理がありそうなんだけど、Fileクラスに2つの性 格をごっちゃに期待してしまい混乱するという感じです。 P.S. 「Fileクラスはファイル入出力のためのIOの派生クラス」と意識すれば混乱 が減るんじゃないかなぁという気がしているので、それが言いたくて書きまし た。「クラス名変えて〜」って言ってるわけじゃないです (^^; ============================================================= 藤本尚邦 FUJIMOTO Hisakuni hisa / imasy.or.jp =============================================================