instance_eval

Object#instance_evalは、レシーバのコンテキストでevalを行います。インスタンス変数にもアクセスできるので注意が必要です。
以下のプログラムは、Object#instance_variablesと合わせて「全インスタンス変数にnilを代入する」という処理をしています。

class Rubyco
  def initialize(name, age)
    @name, @age = name, age
  end
end

a = Rubyco.new("Alice", 23)
p a

a.instance_variables.each do |v|
  a.instance_eval "#{v} = nil"
end
p a

実行結果です。

#<Rubyco:0x298ed08 @age=23, @name="Alice">
#<Rubyco:0x298ed08 @age=nil, @name=nil>