わたなべです.

kikutani / sprintmail.com <kikutani / sprintmail.com> writes:

:> Solaris でも使いたいときは Makefile を書き換えて MISSING に
:> fnmatch.o を追加してしまうのがいいかもしれません.
:
:なるほど、Linuxにはfnmatchがないのですね。

Linux には fnmatch はあります. missing/fnmatch.c と同じよう
に [^T] は使えるようですね.

Solaris でこの表現が使えないなら以前のように 
fnmatch.c は missing でなくてもいいのかも.
このままだとスクリプトの互換性がなくなりますね.
実は djgpp にも fnmatch(3) はあるけどなんか変なので
missing/fnmatch.c を使うようにしてます.

:      a = dir.collect do |d| 
:	File.dirname(path) + '/' + d if d =~ rex
:      end
:      a.delete(nil)
(snip)
:なんだか collect して nil を delete するのがダサダサなんで
:もっと綺麗な方法はないですかね。

あまり変わらない気もするけど
      a = dir.collect {|d| 
	File.dirname(path) + '/' + d if d =~ rex
      }.compact
のように compact を使う手はあります.
do .. end だと . で続けられないのが痛い.

:スピードも遅そうだけど、もともとglobは遅いなんて話がありましたよね。

それってソートするときに何度も (l)stat を呼んじゃうから,
Schwartzian Transform を使おうって話じゃなかったっけ?

-- 
わたなべひろふみ