From: Ryuichi Tamura Date: 2000-09-28T07:09:23+09:00 Subject: [ruby-list:25210] Find module 田村と申します。 Find モジュールを使って、Emacs や Jed のバックアップファイルを削除する スクリプトを動かしていたのですが、この度リリースされた1.6.1 からこれが動かなくなってしまいました。 [tam@kappa7 /home/tam/tmp]$ ls -a ./ ../ foo foo~ というディレクトリがあったとして、次のスクリプト: require "find" Find.find("/home/tam/tmp"){ |f| if f =~ /~$/ print "deleting #{f}...\n" $stdout.flush system("rm -f #{f}") end } を、ruby 1.6.1 (2000-09-27)にて動作させると、 deleting /home/tam/tmp/foo~... /usr/lib/ruby/1.6/find.rb:15:in `lstat': そのようなファイルやディレクトリはありません - "/home/tam/tmp/foo~" (Errno::ENOENT) from /usr/lib/ruby/1.6/find.rb:15:in `find' from /usr/lib/ruby/1.6/find.rb:13:in `catch' from /usr/lib/ruby/1.6/find.rb:13:in `find' from souji:3 となります。ところが直後に再度ディレクトリの中身を確認してみると、 [tam@kappa7 tmp]$ ls -a ./ ../ foo となって、foo~ は消えているようです。ちょっと自分では原因がわからず不 可解に感じましたので、対処策を教えていただけないでしょうか。 それでは。