2012-12-28 43 views
0

的意思我碰到一個來使用,如:我什麼是成參數傳遞給Class.new

InvalidRequest = Class.new(StandardError) 

困惑的是:

  • 什麼是一個參數傳遞給Class.new意思?
  • 現在InvalidRequest,StandError和Class之間有什麼關係?
+0

出於好奇:你在['Class :: new']的文檔中找不到什麼東西(http://Ruby-Doc.Org/core-1.9.3/Class.html#method -C-新)?而且,現在您知道了您的問題的答案,您是否對如何改進文檔有任何建議,以便像您這樣的其他人可以在那裏找到答案? –

+0

事實上,我對'Class#new'和'Class.new'感到困惑,因爲我之前從未偶然發現過使用'Class.new(AnotherClass)'。在閱讀公共課程方法後,解釋非常清楚。 – steveyang

回答

3

它設置一個類作爲超類的參數。

將參數傳遞給Class.new有什麼意義?

該參數用作返回的新匿名類的超類。

現在InvalidRequest,StandError和Class之間有什麼關係?

InvalidRequestStandardError一個Class其中繼承。


它是功能上等同於:

class InvalidRequest < StandardError 
end 

就在一個功能更強大的編程風格。

相關問題