2013-01-16 151 views
2

我刚刚安装我的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文档页面,切忌这项工作的方法是什么?

+0

p File.exist?( “富”) –

+0

不要忘了 “接受” 他的回答。它增加了人们未来有所帮助的可能性。 – vlasits

回答

8

你忘了在最后的问号(?):

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

在一般情况下,这回答问题总是以问号结尾的方法。

在这种情况下,该方法是要求Filedoes 'foo' exist?问题。课程将返回答案。

+0

哈!我认为这是文档中的某种注释。谢谢! – Klortho

+0

@Klortho,方法可以有'!'和'='在他们的名字的结尾为好。 –

+1

还要说明一点,没有权威授权使用?/!/ =,这简直就是一个有用的传统。 – Josh

相关问题