[#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:23272] Re: File.fnmatch とDir.glob の非互換部分

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

In message "[ruby-dev:23269] Re: File.fnmatch  とDir.glob の非互換部分"
    on 04/03/30, H.Yamamoto <ocean@m2.ccsnet.ne.jp> writes:

|    if (*root == '/') root++;
|
|という個所があります。これは 'c:/' といった部分をスキップするためのものなのですが、'c:\/' に
|対しても同様に働くべきでしょうか?というか、'**/' でもなんでも、すべての個所で '\/' == '/' で
|あるべきなんでしょうか?

原則として一貫している(動作が理解できる)ことを希望しますが、
「どうあるべきか」は断言しにくいですよね。

考えてみると、このようなケースではエスケープをどこで処理する
かによって意味が変わってきますよね。おそらくはglobで意味を持
つ文字のエスケープはglob内で処理し、それ以外はそのまま
fnmatchに渡るべきなのでしょう。

で、/はglobで意味のある文字だと思うので、このエスケープは
glob内で処理すべきなんでしょうね。とすると、その意味は「エス
ケープされて特殊な意味をキャンセルされた/」つまり「パス区切
りでない/」のような気がするので、少なくともUNIX的ファイルシ
ステムでは見つけた瞬間にマッチしないことがわかるような気がし
ます。って、そういうことではないのかな。

In This Thread