2012-12-28 218 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 

就在一个功能更强大的编程风格。

相关问题