「カレントディレクトリの下のファイル全部をディレクトリも含めて
大文字に変えるのをrubyでやるとどーなるの?」

と聞かれたのですが、

path = ARGV.shift
def upper(path)
  Dir.chdir(path)
  Dir.foreach("."){|f|
    if FileTest.directory?(f)
      unless f == '.' or f == '..'
        upper(f)
        File.rename(f, f.upcase)
      end
    else
      File.rename(f, f.upcase)
    end
  }
  Dir.chdir("..")
end
upper path

くらいしか思いつきませんでした。普通にFindライブラリを使おうとすると、
先にディレクトリ名を変更して、その下のファイルの処理に困ってしまう。

正解は?

-- 
人生を背負い投げ

菊谷 誠(Kikutani Makoto)  kikutani / sprintmail.com
                          kikutani / debian.or.jp (Linux関係のみ)