Ruby Dir.exists?未定义的方法

Ant*_*nyW 3 ruby dir nomethoderror

Dir.exists?文档中查看了该方法,我相信我正确使用它,但在每次调用时我都遇到了这个错误:

未定义的方法`存在?' for Dir:Class(NoMethodError)

我忽略了一些非常明显的东西吗?以下是相关代码.

#!/usr/bin/ruby
ARGV.each do |dir|          # Arguements are directory names.
    if !Dir.exists?(dir)
#dosomething
end
end
Run Code Online (Sandbox Code Playgroud)

编辑:

使用File.directory?而不是Dir.exists?修复我的程序,但没有解释这个错误.

Dan*_*Tao 8

你使用的是哪个版本的Ruby?您提供的文档链接适用于Ruby 2.0.该Dir.exists?方法在1.8中不可用.

您可以从命令行检查Ruby版本:

ruby -v
Run Code Online (Sandbox Code Playgroud)

或者从IRB会话中,检查RUBY_VERSION常量的值.

如果您对在您的计算机上使用更新/多个Ruby版本感兴趣,我建议您查看RVMrbenv.