我看着Dir.exists?方法在 documentation中,我相信我正确使用它,但在每次通话时我都遇到了这个错误: 未定义的方法`存在?’ for Dir:Class(NoMethodError) 我忽略了一些非常明显的东西吗?以下
未定义的方法`存在?’ 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?您提供的文档链接适用于Ruby 2.0. Dir.exists?方法 was not available in 1.8.您可以从命令行检查Ruby版本:
ruby -v
或者从IRB会话中,检查RUBY_VERSION常量的值.
如果您对在您的机器上使用更新/多个Ruby版本感兴趣,我建议您查看RVM或rbenv.