日時 Fri, 17 Sep 1999 23:35:21 +0900 の
メール <199909171435.XAA26945 / mail.os.rim.or.jp> において
WATANABE Hirofumi  さん曰く:

> :globというのはシステム依存なんでしょうか?
> 
> fnmatch(3) 次第です.
> 
> :a = Dir.glob("./*[^T]")
> :
> :というので「Tで終わらないファイル」を取りたかったのですが、
> :Solarisではうまく行きません。LinuxではOK。
> 
> Solaris でも使いたいときは Makefile を書き換えて MISSING に
> fnmatch.o を追加してしまうのがいいかもしれません.

なるほど、Linuxにはfnmatchがないのですね。

昨日の段階でとりあえず

  def my_glob(path, rex)
    begin
      dir = Dir.open(path)
      a = dir.collect do |d| 
	File.dirname(path) + '/' + d if d =~ rex
      end
      a.delete(nil)
    rescue
      a = []
    ensure
      dir.close
    end
    a
  end

てなものを書いてしまいました。正規表現が使いたかったので
結局こうせざるをえなかったかも。

なんだか collect して nil を delete するのがダサダサなんで
もっと綺麗な方法はないですかね。

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

-- 
人生を背負い投げ

菊谷 誠(Kikutani Makoto)  kikutani / sprintmail.com