这个Ruby语法意味着什么:if self<班级名称?

时间:2014-01-10 00:27:14

标签: ruby

我遇到了我以前从未见过的这种奇怪的语法:

if self < Example::Class::Name
  # do something
else
  # do something else
end

这检查了什么?

2 个答案:

答案 0 :(得分:4)

它检查selfExample::Class::Name

的子类

查看Module docs:)

答案 1 :(得分:2)

超类/子类检查。

这是通过这种声明来检查Example::Class::Name是否是self的超类:

class DemonstrationClass < Example::Class::Name
  #de body of sub-class

  def cascade *parameters
     #de ...do work
     super #de passes all parameters to the same method name of the super-class.
           #de this even works on an initialize method declaration!
  end
end

DemonstrationClass的实例是 sub - Example::Class::Name 超级类的类。

子类具有能够执行我在cascade方法中显示的内容以及更多内容的特殊功能。

更多示例代码的相关问题以及相关概念的示例: