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 is method_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" 

Geplaatst in  | geen reacties

Reacties

(Laat url/e-mail achter »)

   Voorvertoning