對類的反思

讓下面是類定義

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