1.Moudle的方法
undef_method(),会删除所以的方法,包括继承来的的方法。
remove_method(),只会删除接受者自己的方法。
2,单件方法
所谓的单件方法就算特定对象的特有方法,ruby中的类也是对象,所以类方法就是单件方法。
例如:
class A def method_a "this is a method" end end aa = A.new bb = A.new aa.method_a #=>"this is a method" bb.method_a #=>"this is a method" def aa.method_b "this is b method" end p aa.method_b #=>"this is b method" p bb.method_b #=>"undefined method `method_b' for #<A:0x9a242a8> (NoMethodError)"
这个挺容易理解,呵呵!
3.Moudle#class_evel()方法会在一个已存在的类的上下文中执行一个块
def add_method_to(a_class) a_class.class_eval do def m; "hello" ; end end end add_method_to String "abc".m #=> "hello"