2

現在、パスを次のように設定しています。

$: << "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)}

true2 回とfalse4 回を返す

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でも試しました

4

1 に答える 1