我还没有找到运营商>
,<
,>=
,<=
为Object
和Class
文档中的任何说明。
String > Object # => false
BasicObject > Object # => true
String > Integer # => nil
当一流水平的比较完成后,它看起来层次/关系。
因为String > Object
是祖先为Object
类String
返回false。
类似随后将这个层次Object -> Numeric -> Integer
String > Integer
返回nil,因为这两个类不相同的层次结构/关系来。
正如你已经发现,这些方法不是Object
也不对Class
定义。
在你的榜样,他们在Module
定义,这是Class
的父母。读的地方周围here。
当你想知道在哪个类中的方法定义,使用owner
。
String.method(:>).owner # => Module