2013-01-16 77 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

相關問題