1.Moudle的方法
undef_method(),会删除所以的方法,包括继承来的的方法。

remove_method(),只会删除接受者自己的方法。

2,单件方法

所谓的单件方法就算特定对象的特有方法,ruby中的类也是对象,所以类方法就是单件方法。

例如:

class A def method_a "this is a method" endendaa = A.newbb = A.newaa.method_a #=>"this is a method"bb.method_a #=>"this is a method"def aa.method_b "this is b method"endp 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" ; endendendadd_method_to String"abc".m #=> "hello"