From: "H.Yamamoto" Date: 2004-02-22T19:51:35+09:00 Subject: [ruby-dev:23003] Re: Dir#glob proposal 山本です。 Dir.glob('e:hoge', 'e:/base') # 'e:/base' を基準ディレクトリとみなす。File.extract_path と同様。 なども対応しようと思えば、私の方法では困難でした。 glob_helper(...., const char *base) /* 基準ディレクトリ */ のように引数を追加して、 do_opendir, do_stat, do_lstat にも const char *base を追加し、 do_opendir(const char *path, const char *base) { DIR *dirp; int e; if (base) { char *buf = extract_path(path, base); dirp = opendir(buf); e = errno; free(buf); } else { dirp = opendir(path); e = errno; } if (dirp == NULL && e != ENOENT && e != ENOTDIR) rb_sys_warning(...); return dirp; } のようにするのがよさそうです。なかださんのおっしゃったのも、このような感じでしょうか? # もう少し考えてみたいので、fnmatch の実装が落ち着いてから取り組みたいと思います。