我有一个 Ruby 脚本,它打开一个目录并将内容打印到屏幕上:
rootDir = '/Users'
puts rootDir
Dir.foreach(rootDir) do |folder|
next if folder == '.' or folder == '..'
puts folder if(File.directory? rootDir+'/'+folder)
end
当我在终端中运行它时,我收到以下错误:
/Users
imager.rb:77:in `open': No such file or directory - /Users (Errno::ENOENT)
from imager.rb:77:in `foreach'
from imager.rb:77
第 77 行是 Dir.foreach 行。但是当我运行以下代码时,它可以完美运行:
rootDir = '/Users'
puts rootDir
Dir.foreach('/Users') do |folder|
next if folder == '.' or folder == '..'
puts folder if(File.directory? '/Users'+'/'+folder)
end
似乎文件夹路径存储在rootDir中时,找不到该文件夹。有任何想法吗?/Users 与脚本不在同一目录中。