我在官方文档中查找了Dir.exists?
方法,并且我相信我使用的是正确的方式,但是每次调用时都出现以下错误:
undefined method `exists?' for Dir:Class (NoMethodError)
我是否忽略了什么极其明显的东西?下面是相关的代码。
#!/usr/bin/ruby
ARGV.each do |dir| # Arguements are directory names.
if !Dir.exists?(dir)
#dosomething
end
end
编辑:
使用File.directory?
而不是Dir.exists?
修复了我的程序,但并不能解释这个错误。
$ ruby -v
显示ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
。我在运行Ubuntu 12.04 LTS机器。有任何想法是什么原因导致这个问题? - FM KerckhofDir.exists?
的脚本中,添加一行像puts "Ruby version: #{RUBY_VERSION}"
这样的代码,仅仅是为了确保它正常运行在你使用 RVM 安装的 Ruby 版本上。 - Dan Tao