这个 Ruby 语法的含义是什么:if self < Class::Name?

4
我发现了一种我从未见过的奇怪语法:

我遇到了一个我从未见过的奇怪语法:

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

这个检查是用来做什么的?
2个回答

4
它检查self是否是Example::Class::Name的子类。
查看模块文档 :)

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的实例是类,属于Example::Class::Name 类。

子类拥有特殊的功能,比如我在cascade方法中展示的,以及许多其他更多的功能。

相关问题,包含更多示例代码和涉及的概念示例:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接