define_method
るびま21号の石塚さんインタビューで define_method というメソッドの存在を知る。
試してみた。
class Foo
def initialize(val)
@current=val
end
5.times do |i|
define_method("plus"+i.to_s){@current+=i}
end
endfoo=Foo.new(10)
p foo.plus1 #11
p foo.plus2 #13
p foo.plus3 #16
このメソッドを実際に使う状況は今の所思いつかないが、備忘録として。