对类的反思

让下面是类定义

class A
   def a; end
end

module B
   def b; end
end

class C < A
   include B
   def c; end
end

C 的实例方法是什么?

C.instance_methods # [:c, :b, :a, :to_json, :instance_of?...]

什么是仅在 C 上声明的实例方法?

C.instance_methods(false) # [:c]

C 的祖先是什么?

C.ancestors # [C, B, A, Object,...]

C 的超类?

C.superclass # A