【发布时间】:2014-01-28 19:40:53
【问题描述】:
我遇到了这种我以前从未见过的奇怪语法:
if self < Example::Class::Name
# do something
else
# do something else
end
检查什么?
【问题讨论】:
标签: ruby
我遇到了这种我以前从未见过的奇怪语法:
if self < Example::Class::Name
# do something
else
# do something else
end
检查什么?
【问题讨论】:
标签: ruby
它检查self 是否是Example::Class::Name 的子类
查看Module docs :)
【讨论】:
这是通过这种声明检查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 方法中展示的事情,以及更多的事情。
更多示例代码的相关问题,以及所涉及的相关概念示例:
【讨论】: