ruby-core
包中的是ruby的核心类(算是M2+M3级) 
外面的User是M1级。 虚线是instance_of关系 
具有金穗带构架,Object.instance_of?(Class) = true, Class.ancestors.include?(Object) = true 
不是很明白,中间杀出个程咬金:Module 
总体原则是,核心类簇中继承链中的叶类作为实例化关系的祖先, 即Class 
一些特征:
1)特定于某对象的方法(单例类实例的方法)
  str = "sdfsdf"
  def str.foo
    puts "a per object method"
  end
2)DSL特征,在Module类中增加方法,以便用户类在定义时调用。
class Module
  @@doc = {}
  def doc(str)
    @@doc[self.name] = str
  end
  def Moduel.doc(aClass)
    aClass = aClass.name if aClass.class <= Module
    @@doc[aClass]
  end
end 
class User
  doc "here is the doc for user"
end
 
3)条件定义
def foo 
  if $DEBUG
    def foo
      puts "debug version"
    end
   else
  end
end  
4)匿名类
class User
   @class_val = 123
   class <<self
     def aClassMethod
       puts @class_val
     end
   end
end
 
 
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号