2012-03-15 2 views
0

Rubyプログラムでは、実行時にさまざまなファイルが存在しないことを伝えています。Ruby File.exists?(path)は私にあります

パスは絶対パスであり、プログラム実行時にファイルになります。プログラムを再実行すると、すべて正常に動作します。コードには何も特別なものは何もなく、同時に何千もの他のファイルで動作します。特定の時間には特定のファイルではありません。

それはRubyは、おそらくここで起こって何ができるかのWindows 2003

に最新の安定はCygwin上で1.8.7ですか?

+0

「プログラムを再度実行すると、すべてが正常に動作します。」 - オハイオ州オハイオ州、この部分を理解していないのですか?まあ、それはおそらくルビーのものではなく、システムのものです。複数のrubyスレッド/プロセスが同時にファイルシステムにアクセスしているときに、何か不思議なことが起きる可能性があります。同時アクセスを許可しないwindows/cygwin IOに関するものがあるかもしれません。確認できる一般的なシステムログはありますか? –

答えて

0

cygwinを使用している場合は、間違ったタイプのスラッシュを使用している可能性がありますか? (前向きと後ろ向き)

何か簡単に試してみてください。テストファイルをどこかに作成して、それに到達する方法を試してみてください。

File.exists?('c:/test.txt') 
File.exists?('c:\test.txt') 
File.exists?('/test.txt') 
File.exists?('\test.txt') 

(私がしようとするものの完全なスペースがどうなるか分からないので、私は窓/ cygwinのを知らない)

+0

パスは毎回同じですが、結果は異なります。それはFile.existsの全く無作為な部分のように思えますか?呼び出しは失敗します。私が言ったように、プログラムは通常、エラーなしで再び実行することができます。 –

関連する問題