【问题标题】:What does this Ruby syntax mean: if self < Class::Name?这个 Ruby 语法是什么意思:if self < Class::Name?
【发布时间】:2014-01-28 19:40:53
【问题描述】:

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

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

检查什么?

【问题讨论】:

    标签: ruby


    【解决方案1】:

    它检查self 是否是Example::Class::Name 的子类

    查看Module docs :)

    【讨论】:

      【解决方案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 方法中展示的事情,以及更多的事情。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-28
        • 2012-07-25
        • 2011-11-13
        • 2014-03-31
        相关资源
        最近更新 更多