method

instance_eval

Importance_2
Ruby latest stable (v2_5_5) - 1 note - Class: Object

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v1_8_7_330) is shown here.

These similar methods exist in v2_5_5:

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
Show source
Register or log in to add new notes.
August 18, 2015
0 thanks

Add method to instacne eval

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"