[#23168] File.fnmatch のリファクタリング — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

13 messages 2004/03/08

[#23192] File.fnmatch と Dir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

19 messages 2004/03/13
[#23194] Re: File.fnmatch と Dir.glob の非互換部分 — matz@... (Yukihiro Matsumoto) 2004/03/13

まつもと ゆきひろです

[#23195] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/14

山本です。

[#23196] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/14

山本です。

[#23260] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/30

山本です。

[#23261] Re: File.fnmatch とDir.glob の非互換部分 — matz@... (Yukihiro Matsumoto) 2004/03/30

まつもと ゆきひろです

[#23265] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/30

山本です。

[#23238] Re: [ruby-cvs] ruby, ruby/lib, ruby/lib/rss, ruby/sample/openssl: * lib/logger.rb: trim tail space of each line. no user visible change. — Kouhei Sutou <kou@...>

須藤です.

10 messages 2004/03/27

[ruby-dev:23282] Re: File.fnmatch とDir.glob の非互換部分

From: matz@... (Yukihiro Matsumoto)
Date: 2004-03-30 14:44:18 UTC
List: ruby-dev #23282
まつもと ゆきひろです

In message "[ruby-dev:23280] Re: File.fnmatch  とDir.glob の非互換部分"
    on 04/03/30, H.Yamamoto <ocean@m2.ccsnet.ne.jp> writes:
|
|山本です。
|
|>となると、FNM_PATHNAME なときの fnmatch はどうあるべきでしょうか?
|>
|>  File.fnmatch('a\/b', 'a/b', File::FNM_PATHNAME) #=> true or false ?
|>
|># glob と一貫性を持たせるなら、false のような気がします
|
|それとも、
|
|>>考えてみると、このようなケースではエスケープをどこで処理する
|>>かによって意味が変わってきますよね。おそらくはglobで意味を持
|>>つ文字のエスケープはglob内で処理し、それ以外はそのまま
|>>fnmatchに渡るべきなのでしょう。
|
|なので true でしょうか?

決めてしまえばどちらでもよいように思いますが、FNM_PATHNAMEの
役割は

       FNM_PATHNAME

              こ のフラグがセットされていると、 string 中の
              スラッシュ (/) を pattern にあるスラッシュその
              ものにだけマッチさせ、それ以外 (例えばスラッシュ
              を含む [] シーケンスなど) にはマッチさせない。

であり、「/」という文字そのものに特殊な意味を与えているわけ
ではなさそうなので、trueじゃないか、という気がします。

こういう挙動は、私の理解である

  * globはファイルシステムのpathのワイルドカードマッチを行う
    関数

  * fnmatchは文字列のワイルドカードマッチを行う関数。
    FNM_PATHNAMEはglobを支援するための補助機能

というモデルからは自然ですが、他の人はどう感じるんでしょう。

                                まつもと ゆきひろ /:|)

In This Thread