From: WATANABE Hirofumi Date: 2003-08-11T00:26:06+09:00 Subject: [ruby-list:38069] Re: ファイル書換え? わたなべです。 Koji Arai writes: > 今cygwin perl v5.8.0で試してみたら > > echo aaa > aaa > perl -ni -e 'print "bbb\n"' aaa > cat aaa > bbb > > とうまくいきますね。 Cygwin DLLのunlinkはこういう場合にも対応していて、openしたま まのファイルの削除をプロセスが終了するまで遅延します。 % ls foo.rb % cat foo.rb open("foo.txt", "w") do |fw| fw.puts "foo" end fr = open("foo.txt") File.unlink("foo.txt") puts Dir['*.txt'] puts fr.gets fr.close % ruby foo.rb foo.txt foo % ls foo.rb > # 確かにrubyじゃだめだった RubyもCygwinは#undef NO_SAFE_RENAMEすればいいんですよね。 #Cygwin DLLのunlinkも昔はそんなことまではやってくれなかったので。 -- わたなべひろふみ