なかだです。

At Wed, 18 Feb 2004 23:34:44 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:22958]:
> |思い付きですが、Dir#globというメソッドはどうでしょうか。例えば、
> |Dir.open(dir).glob("**/*.rb") とすると dir/**/*.rb が、dirから
> |の相対パスで返されるようなイメージです。
> 
> * どういう風に使うものでしょう

例えばcp_rとか二つのディレクトリに対して再帰処理をするような場
合、かなり楽になります。

  def lndir(src, dest)
    parent = src == File.expand_path(src, "/") ? "" : "../"
    Dir.open(File.expand_path(src, dest)) do |dir|
      dir.glob("**/*") do |file|
        if File.directory?(t = File.join(dir.path, file))
          Dir.mkdir(t)
        else
          File.symlink(parent * file.count("/") + file, File.join(dest, file))
        end
      end
    end
  end

[ruby-dev:22957]だと、thread safeでないところが。

> * どういう実装をイメージしてますか

glob_helper()からdo_opendir()の部分を切り出すような感じです。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦