# ------------ 8< ------------

class A
  def initialize
    @av=10;
  end
  def do(mproc)
    #### changed this line ####
    instance_eval &mproc
  end
  def rt()
    @av;
  end
end

a=proc{@av=111} #something different
b=A.new
b.do(a)
b.rt #return -> 111

# ------------ 8< ------------

Jacob Fugal