From: "H.Yamamoto" Date: 2004-03-06T21:39:22+09:00 Subject: [ruby-dev:23153] Re: File.fnmatchとDir.glob 山本です。 > ・File.fnmatch の挙動は、世間に流通している fnmatch(3) と同一なので問題ない > ・fnmatch(3) は SUSv3 に準拠してない(涙) > ・むしろ Dir.glob の '[a/c]' の解釈が glob(3) と違う可能性がある > >ということですね。glob(3) についてよくわからないので、とりあえず > > ・'*' の高速化 > ・'**/' の実装 > ・セパレータは '/' だけ > >だけ変更することにして、もう一度実装しなおします。(FNM_PERIOD 復活は議論待ち) Dir.glob は、まつもとさんが仰っていたように、'[a/c]' 全体をエントリと比較することにしました。 glob(3) の動作も、たぶんこうなのだと思います。 これで OK と思ったのですが、また一貫性のない部分を発見してしまいました(涙) E:\ruby-cvs>miniruby -ve "puts File.fnmatch('[ab', '[ab')" ruby 1.9.0 (2004-02-24) [i386-bccwin32] false E:\ruby-cvs>touch [ab Touch Version 4.2 Copyright (c) 1998 Borland International E:\ruby-cvs>miniruby -ve "puts Dir.glob('[ab')" ruby 1.9.0 (2004-02-24) [i386-bccwin32] [ab has_magic では、閉じてない '[' は PLAIN として扱ってるのですが、File.fnmatch では単にマッチしないとして いるためです。 fnmatch(3) ではどのような動作でしょうか?よろしくお願いします。