为什么我为File:Class获得“未定义的方法”?

时间:2013-01-16 04:15:00

标签: ruby

我刚刚在我的Ubuntu机器上安装了Ruby,并且这样做了:

$ ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]

$ ruby
p File.basename("foo")
p File.exist("foo")
"foo"
-:2:in `<main>': undefined method `exist' for File:Class (NoMethodError)

我阅读File文档页面的方式,这不应该有效吗?

1 个答案:

答案 0 :(得分:8)

你忘记了问号(?):

File.exist? 'foo'
File.exists? 'foo'

一般来说,回答问题的方法总是以问号结束。

在这种情况下,该方法会询问File does 'foo' exist?个问题。课程将返回答案。