I'm playing with the RubyLanguage and I'm trying to override eval with my own eval. The PseudoCode is like this:
def eval( params )
doSomething
old_eval( params )
doSomethingElse
end
How can I call the old eval from the new-one?
solution:
alias :oldEval :eval
def eval( code )
puts "antes eval"
oldEval( code )
puts "despues eval"
end
$a = "Hola mundo"
eval "puts $a"
Eval is a method of the Kernel. You can access it with 'Kernel.eval'.
def eval( params )
puts 'before eval'
Kernel.eval( params )
puts 'after eval'
end
In irb you can see a list of all the Kernel methods by invoking 'Kernel.methods.sort'.