Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: util::fclose(), util::writefile()



At Sun, 14 Mar 2004 02:34:27 +0900,
Tadamasa Teranishi wrote:
> ファイルを明示的にクローズするために util::fclose() を用意しました。
> (util::fopen(), util::efopen() と対応させるために)
> 
> また、フィルタで頻繁に使う
>     {
>         my $fh = util::efopen("> $tmpfile");
>         print $fh $$cont;
>         util::fclose($fh);
>     }
> に相当する util::writefile() を用意しました。次の1命令に置き換え可能
> です。
>     util::writefile($tmpfile, $cont);
> 
> 以下、差分です。

差分は、unified 形式 (-u) かせめて context 形式 (-c) にして
いただけませんか。そのほうが周辺のコードが見えるので、
わかりやすいです。GNU diff とかであれば、-p (--show-c-function)
も付けていただけるとさらにわかりやすい(こともある)です。

    $ echo diff -up >> ~/.cvsrc

よろしくお願いします。

> # cvs diff util.pl
> Index: util.pl
> ===================================================================
> RCS file: /storage/cvsroot/namazu/pl/util.pl,v
> retrieving revision 1.28
> diff -r1.28 util.pl
> 67a68,83
> > sub fclose ($) {

この手の関数は、

> >     my ($arg) = @_;
> >     my $fh;
> >     if (ref $arg) {
> >       if ($arg =~ /^(IO::File|FileHandle)/) {
> >             $fh = $arg;
> >             $fh->close();
> >             return undef;

成功した場合は undef 以外で、

> >         }
> >     }
> >
> >     my $err = "$arg: " . _("not an IO::File/FileHandle object!\n");
> >     warn $err;
> >     return $err;

失敗した場合は undef を返すのが一般的なスタイルじゃないんでしょうか?

> > }

-- 
-- Name: SATOH Fumiyasu  -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya at net-thrust.com, samba.gr.jp, namazu.org or ...