うえのです。

元スレッドとは関係のない話なので ruby-ext に振ります。

On Sat, 2 Feb 2002 14:19:23 +0900
Tanaka Akira <akr / m17n.org> wrote:

> ふむ。一つ問題点が思い浮かびます。クラスにすると一つしか作れません。つ
> まり、書き込み側だけないしは読み込み側だけ、という状況が扱いにくくなり
> ます。例えば、GzipWriter から読み込むというのはあまり意味がありません。
>
> まぁ、大クラス主義の Ruby としてはそれはそれでいいのかもしれませんけれ
> ど。今でも "w" で open した File からは読み込めないわけですし。
>
> 既存のシステムでこの類のが発達しているのは Java ですが、Reader と
> Writer という二つの抽象クラスがあるようです。うぅむ。読み書き両用とい
> うのはできないんだろうか? 誰か知りませんか?

ここを読んで思ったのですが、現在の Ruby/zlib は gzip ファイルに
アクセスにするためのクラスを読み込み用 (Zlib::GzipReader) と
書き込み用 (Zlib::GzipWriter) に分けているんですけど、File のように
ひとつにまとめてしまったほうがいいですか?

現状分けている理由は、

  ・gzip ファイルに対して read と write を同時に行うことは不可能。
    絶対に不可能というわけではないが、ニーズを考えるとわざわざ
    実装するだけの価値はない。

  ・フラグ操作が面倒臭い。
    まぁ、各関数の先頭でチェックするだけですが。

の2点のみです。

まとめるとすれば Zlib::GzipFile という名前にすると思います。
他にいい名前があれば教えて下さい。



 --  ----  -     - - -- -
うえの かつひろ <unnie / blue.sky.or.jp>