【Ruby】クラスの継承階層を調べる
classメソッドと、superclassメソッドを使って、クラスの継承階層を調べます。
Rubyでオブジェクト自身のクラスを調べるには、classメソッド、
オブジェクト自身の継承クラスを調べるには、superclassメソッドを使います。
例として、Stringクラスの継承階層を調べてみます。
・はじめに対象の変数sに文字列を設定
irb(main):001:0> s = String.new("foobar")
=> "foobar"
・sのクラスを調べます。
irb(main):002:0> s.class
=> String
Stringクラスであることがわかりました。
・Stringクラスのスーパークラスを調べます。
rib(main):003:0> s.class.superclass
=> Object
Objectクラスであることがわかりました。
・Objectクラスのスーパークラスを調べます。
irb(main):004:0> s.class.superclass.superclass
=> BasicObject
Basicクラスであることがわかりました。
・BasicObjectクラスのスーパークラスを調べます。
irb(main):005:0> s.class.superclass.superclass.superclass
=> nil
BasicObjectはスーパークラスを持たないことがわかりました。
よって、Stringクラスの継承階層は下記のようになっていることがわかります。