Ruby中7种定义类方法的方式

class  SomeClass
 
# method 1
  def  SomeClass.ClassMethod1
 end
 
 
def  self.ClassMethod2
 end

 
# method 2
  class   <<  self
  
def  ClassMethod3
  end
 end
end

SomeClass.instance_eval do
 
# method 3
  def  ClassMethod4
 end

 
# method 4
 define_method(:symbol, )
end

# method 5
SomeClass.class_eval do
 
def  self.ClassMethod5
 end
 
 
# method 6
  class   <<  self
  
def  ClassMethod6
  end
 end
end

# method 7 - dynamically define a class method at run time
def  add_class_method(c, m,  & b)
 eigenclass 
=   class   <<  c; self; end
 eigenclass.class_eval { 
  define_method(m, 
& b)
 }
end

 
Ruby真的是太灵活了,要驾驭Ruby的灵活真不容易。

你可能感兴趣的:(Ruby)