Programmeren tijdens runtime
Geplaatst door Michiel de Mare zo, 12 feb 2006 06:52:00 GMT
Ik ben nu bezig met het voorbereiden van een presentatie over Ruby on Rails die Remco en ik volgende week zullen geven (meer informatie later). Een van mijn onderwerpen ismethod_missing
, en zo kwam ik op het idee voor deze implementatie:
class Object
def method_missing(name, *args)
puts "Nog geen methode voor #{self.class} #{name}."
puts "Voer er nu s.v.p. een in:"
m = []
puts m << "def #{name}(*args, &proc)"
m << gets.chomp until m.last =~ /^end$/
eval m.join(';')
self.send(name,*args)
end
end
irb(main):056:0> "JAVA".zuul
Nog geen methode voor String zuul.
Voer er nu s.v.p. een in:
def zuul(*args, &proc)
chop.reverse.chop.succ
end
=> "VB"