Skip to content
instance method

Binding#local_variable_set

[U] (::interned varname, U obj) -> U
binding.local_variable_set(symbol, obj) → obj

Set local variable named symbol as obj.

Example
def foo
  a = 1
  bind = binding
  bind.local_variable_set(:a, 2) # set existing local variable `a'
  bind.local_variable_set(:b, 3) # create new local variable `b'
                                 # `b' exists only in binding

  p bind.local_variable_get(:a)  #=> 2
  p bind.local_variable_get(:b)  #=> 3
  p a                            #=> 2
  p b                            #=> NameError
end

This method behaves similarly to the following code:

Example
binding.eval("#{symbol} = #{obj}")

if obj can be dumped in Ruby code.

Ruby version changes

  1. 4.0