2010-12-16 75 views
2

我是一名鐵軌程序員。而軌道總是告訴我,我有「NoMethodError」。爲什麼我不能得到一個MethodError?我想要一個MethodError。爲什麼我沒有收到方法錯誤?

請幫幫我。

編輯:

這裏是我的代碼:

42.this_is_a_method 
+0

向我們展示你如何得到使用Rails了'NoMethodError'。你可以把代碼放在 – 2010-12-16 00:05:59

+0

嗎? – 2010-12-16 00:08:18

+6

請告訴我,這不是一個笑話。 – 2010-12-16 00:13:34

回答

3

Ruby沒有MethodError。但你可以做一個!

class MethodError < NoMethodError; end 

現在,趕上這樣所有NoMethodErrors:

class Object 
    def method_missing(m) 
    raise MethodError, "undefined method `#{m}' for #{self.inspect}:#{self.class}" 
    end 
end 
+4

太複雜了。只要做'MethodError = NoMethodError'。 – 2010-12-16 00:35:42

+2

@Joerg:如果你提出了一個'MethodError',你會得到'NoMethodError:NoMethodError'。這是因爲'MethodError.name'會返回'NoMethodError'。 – 2010-12-16 03:11:02

3

你會得到一個NoMethodError因爲Fixnum類不具備該類的實例定義this_is_a_method

相關問題