山本です。 今、fnmatch の仕様を確認しています。それで質問なのですが、 E:\ruby-cvs\ruby>miniruby -ve "puts File.fnmatch('[', '[')" ruby 1.9.0 (2004-02-18) [i386-bccwin32] false E:\ruby-cvs\ruby>miniruby -ve "puts Dir.glob('[')" ruby 1.9.0 (2004-02-18) [i386-bccwin32] [ fnmatch は 1. '[' があるので range() を呼ぶ 2. ']' がないのでマッチ失敗 としているのですが、glob は 1. has_magic("[") を呼ぶ 2. ']' のない '[' はマジックではないので PLAIN とする 3. PLAIN なので、単に Compare() => '[' にマッチする と処理しています。 fnmatch は MAGIC として、glob は PLAIN として扱っていて 一貫性がないと思うのですが、'[' に対応する ']' がないときの 解釈はどうあるべきでしょうか?