class_eval
後でまともな使い方考える。
class A a=("a".."f").to_a class_eval %Q[def initialize #{a.map {|e| %Q!@#{e} = "#{e.succ}"!}.join("\n")} end] class_eval %Q[attr_reader #{a.map {|e| ":"+e}.join(", ")}] end a=A.new p (a.methods - Object.methods) ("a".."f").each {|i| print "#{a.send(i)}, "} __END__ => ["c", "e", "d", "f", "b", "a"] b, c, d, e, f, g,