method

instance_eval

v1_8_6_287 - Show latest stable - Class: Object
instance_eval(...)
public

Evaluates a string containing Ruby source code, or the given block, within the context of the receiver (obj). In order to set the context, the variable self is set to obj while the code is executing, giving the code access to obj’s instance variables. In the version of instance_eval that takes a String, the optional second and third parameters supply a filename and starting line number that are used when reporting compilation errors.

   class Klass
     def initialize
       @secret = 99
     end
   end
   k = Klass.new
   k.instance_eval { @secret }   #=> 99

1Note

Add method to instacne eval

sselvamani22 ยท Aug 18, 2015

We can add method to instance by using instance_eval.

==== Code example string = "String" string.instance_eval do def new_method self.reverse end end

=== Output

irb(main):033:0> string.new_method => "gnirtS"