Rubyでは、クラスの比較ができる

Rubyでは、クラスを比較できることを知ったのでメモとして残しておく。

String < Object

比較演算子は、Moduleクラスに存在している。

ここで、以下を比較すると結果としてnilが返る。

Kernel < BasicObject

これは、BasicObjectとKernelが継承関係にないからだ。

Module#>から、継承関係にないクラス同士の比較では nil を返します。とあるのでnilとなった。

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

  • 作者:Paolo Perrotta
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2015/10/10
  • メディア: 大型本