instance_eval 和 class_eval

def add_method(c, m, &b)
  c.instance_eval {            #在此使用class_eval是一样的效果
    define_method(m, &b)
  }
end

add_method(String, :greet) { "Hello, " + self }

p "world".greet   # => "Hello, world"

posted @ 2009-04-20 18:26  麦飞  阅读(185)  评论(1编辑  收藏  举报