From: UENO Katsuhiro Date: 2002-12-21T20:37:06+09:00 Subject: [ruby-dev:19161] Re: zlib うえのです。 On Sat, 21 Dec 2002 17:05:54 +0900 "Akinori MUSHA" wrote: > > finish は良さげですね。zlib は close/finish で行きます。 > >  と思ったのですが、すでに親クラスに finish というメソッドが > あるんですね。うまくいけますか。 GzipReader/GzipWriter は Inflate/Deflate を継承していないので 大丈夫です。 > - Ruby 1.7 では File.new() がブロックを取らなくなった。ところが > BZ2::{Reader,Writer} では ::new() は IO (read/write に応答する > もの)を取り、 ::open() はファイル名を取るという仕様であり、 > どちらもブロックを取りたい。new と open の仕様をどうしたら > いいか悩ましい。(new が String も IO も取るのはあまり好みでは > ないらしい) むむ、そう言われると気になりますね。zlib も new, open 共にブロックを 取る仕様になっています。 File::new との互換性については、元々 File とは性質の異なるものなの だから new の仕様が異なっているのも当然だと思うので僕は気にしませんが、 new メソッドのインターフェースについて何らかのポリシーが存在するなら、 それには合わせる必要があると思っています。 で、1.7 からは、ブロックも含め new に渡す引数は全て、生成される インスタンスの性質を決定するものでなければならない、という感じを 受けるのですが、この認識は合ってますか? だとすると、僕も new の仕様を再考しなければなりません。 -- ---- - - - -- - うえの かつひろ