method
class_eval
ruby latest stable - Class:
Module
class_eval(*args)public
Evaluates the string or block in the context of mod, except that when a block is given, constant/class variable lookup is not affected. This can be used to add methods to a class. module_eval returns the result of evaluating its argument. The optional filename and lineno parameters set the text for error messages.
class Thing end a = %q{def hello() "Hello there!" end} Thing.module_eval (a) puts Thing.new .hello() Thing.module_eval ("invalid code", "dummy", 123)
produces:
Hello there! dummy:123:in `module_eval ': undefined local variable or method `code' for Thing:Class
VALUE
rb_mod_module_eval(int argc, const VALUE *argv, VALUE mod)
{
return specific_eval(argc, argv, mod, mod);
}