在实例上定义方法

在 ruby 中,你可以向任何类的现有实例添加方法。这允许你在不更改该类的其余实例的行为的情况下向类添加行为和实例。

class Example
  def method1(foo)
    puts foo
  end
end

#defines method2 on object exp
exp = Example.new
exp.define_method(:method2) {puts "Method2"}

#with method parameters
exp.define_method(:method3) {|name| puts name}