まつもと ゆきひろです

In message "[ruby-list:7208] for in bsh"
    on 98/03/24, Yukihiro Matsumoto <matz / netlab.co.jp> writes:

|例えば、/tmpの下に
|
|  dir1/ dir2/ dir3/ dir4/ dir5/
|
|の5つのディレクトリがあったとして、
|
|#!/bin/sh
|cd /tmp
|for dir in dir1 dir3 dir5
|do
|  cd $dir
|  mkdir tmpDir
|  cd tmpDir
|  echo "TEST" > tmpFile
|  cd ../..
|done
|
|というようなことをRubyでやりたい場合にはどうすればよいのでしょうか?

Dir.chdir "/tmp"
for dir in ["dir1", "dir3", "dir5"]
  Dir.chdir dir
  Dir.mkdir "tmpDir"
  Dir.chdir "tmpDir"
  f = open("tmpFile", "w")
  f.print "TEST\n"
  f.close
  Dir.chdir "../.."
end

でどうでしょう.shellよりはかなり冗長ですが.

                                まつもと ゆきひろ /:|)