Class
Aは Class のサブクラスですB。ClassBは class のサブクラスですC。aクラスのオブジェクトですA。bクラスのオブジェクトですB。次の Ruby 式のうち、正しくないものはどれですか?
b.respond_to?('class')a.superclass == b.classA.superclass == Ba.class.ancestors.include?(C)
このクイズの答えは(2)でした。
(1)、(3)、(4) が正しい理由は理解できますが、(2) は少しわかりにくいです。
a.superclass(2) に入力するirbと が得られるため、わかりにくいですNoMethodError: undefined method 'superclass' for #<A:0x7fbdce1075f0>。
しかし、 に入力A.superclass == Bするとirb、 が得られtrueます。
superclassクラスを呼び出すことができるのに、クラスのオブジェクトを呼び出せないのはなぜですか?