读书人

小测验关于Ruby类的祖先链

发布时间: 2012-09-09 09:27:54 作者: rapoo

小试验,关于Ruby类的祖先链

对于理解Ruby的方法查找过程,祖先链概念非常重要,相同模块在原祖先链的类中多次混入时,新祖先链如何呢,做了一个小试验:

?

module M; endmodule M1; endmodule M2; endclass MyClass  include M  include M1endclass MySubClass < MyClass  include M  include M2endobj = MySubClass.newputs obj.class.ancestors()puts "\n\n\n"puts BasicObject.superclass==nildef my_ancestors(current_class)  a = []  a.push current_class  sc = current_class.superclass  until sc==nil    a.push sc    sc = sc.superclass  end  aendputs my_ancestors(obj.class)

读书人网 >Ruby Rails

热点推荐