APIdock / Ruby
/
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);
}

AltStyle によって変換されたページ (->オリジナル) /