我的ruby学习笔记

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"


你可能感兴趣的:(学习笔记,Ruby)