Ruby Dir.存在吗?未定义的方法

标签 ruby dir nomethoderror

我在 documentation 中查看了 Dir.exists? 方法我相信我使用正确,但在每次调用时我都会遇到此错误:

未定义的方法“存在吗?”对于 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?您提供的文档链接适用于 Ruby 2.0。 Dir.exists? 方法 was not available in 1.8 .

您可以使用以下命令从命令行检查您的 Ruby 版本:

ruby -v

或者从 IRB session 中,检查 RUBY_VERSION 常量的值。

如果您有兴趣在您的机器上使用较新/多个 Ruby 版本,我建议您查看 RVMrbenv .

关于Ruby Dir.存在吗?未定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16407955/

相关文章:

ruby-on-rails - 迁移正在等待;运行 'bin/rake db:migrate RAILS_ENV=development' 来解决这个问题[无法继续]

ruby-on-rails - 如何将 tmux 直播到网络应用程序?

mysql - 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

css - 在 html 类 =""属性中插入 ruby

Windows 命令行搜索带有目录的确切扩展名

size - 返回文件夹大小的批处理文件

ruby-on-rails - Ruby - NoMethodError(nil 的未定义方法 :NilClass):

Ruby 的 body_permitted?给出 "NoMethodError"的方法

python - 为什么模块的目录不显示 __dict__? (Python)

ruby-on-rails - 即使安装了正确的 gem,rails 中的 NoMethodError