From: Minero Aoki Date: 2003-02-17T02:01:20+09:00 Subject: [ruby-dev:19588] Re: FileUtils.pwd あおきです。 返事が遅くなってすみません。 In mail "[ruby-dev:19544] Re: FileUtils.pwd" nobu.nakada@nifty.ne.jp wrote: > なかだです。 > cmp, copy_file, uptodate?あたりでファイル名以外(具体的にはIO, > Timeとか)を受け付けるようにするってのは、FileUtilsの主旨からは > 外れてるでしょうか。これがあるとmkmf.rbからfileutils.rbを使うの > に都合がいいんですが。 整理すると提案は四つあるんですね。 1. copy_file が IO を受け取る 2. cmp が IO を受け取る 3. uptodate? が Time#mtime, ctime のどちらを使うか可変にする 4. uptodate? に比較基準となる Time を渡せるようにする まず 1. の機能はよいと思います。しかし copy_file はあくまで ファイルからファイルへのコピーにしたいので、あまりストリームを 認めたくありません。だから用意するなら copy_stream とかの名前 で別のメソッドにしましょう。んで、引数は全部ストリームで揃えて もらいます。混在は不可。 2. は微妙。cmp(1) が stdin を読むので、受け付けてもいいかも しれません。でもやっぱり別メソッドがいいような気もしますね。 とりあえず compare_stream は作ります。これの引数はストリーム のみで混在は不可。cmp が受け付けるかどうかはちょっと考えてから。 あ、そもそも cmp は compare_file にすべきかもなあ。オプションが ないやつは全部プリミティブ扱いに格下げ (格上げ?) すればスッキリ しそうな予感がしてきました。 3. はオプションの名前と受け取りかたに疑問が残ります。たとえば 以前出てたハッシュ形式を使って :method => :mtime みたいにすべき かもしれません。あるいは mtime と ctime だけでよいのなら、別メ ソッドにすべきかも。というか、そもそも欲しくなった理由が知りたい のですが……。 4. はなんか節操がない感じがします。 具体的な動機を聞いてからにしたいです。 ------------------------------------------------------------------- 青木峰郎