現在、パスを次のように設定しています。
$: << "C:/Users/fireforkingjesus/ruby/note/"
このフォルダには次のものがあります。ruby/note/notes/
!IMPORTANT - folder
just.txt
inventory.txt
weapons.txt
そして、このコードを配置すると、正常に動作します:
Dir.foreach("notes/"){|file| puts file}
出力:
.
..
!IMPORTANT
just.txt
inventory.txt
weapons.txt
しかし、これらのコードは機能しません:
Dir.foreach("notes/"){|file| puts file if File.exist?(file)}
これは上記の^^置く
.
..
と
Dir.foreach("notes/"){|file| puts File.exist?(file)}
true
2 回とfalse
4 回を返す
Dir.foreach("notes/"){ |file| puts File.ftype(file)}
上記の ^^ の戻り値: 「そのようなファイルまたはディレクトリはありません -!IMPORTANT」 (Errno::ENOENT)
私もこれをやった:
f = "inventory.txt"
puts "yes before foreach" if File.exist?("notes/inventory.txt")
Dir.foreach("notes/"){ |file|
puts "yes in foreach" if File.exist?("inventory.txt")
puts File.ftype(f)
}
私は得る:
yes before foreach
No such file or directory -inventory.txt (Errno::ENOENT)`
私はRuby 2.0、Windows 8を持っています。多分パーミッションだと思いましたか? または何かidkで、父のWin vistaでも試しました