title: invoking proc with instance_eval with arguments?
body: <p>I know this works:</p>
  
  <pre><code>proc = Proc.new do
    puts self.hi + ' world'
  end
  
  class Usa
    def hi
      "Hello!"
    end
  end
  Usa.new.instance_eval &amp;proc
  </code></pre>
  
  <p>However I want to pass arguments to proc, so I tried this which does not work:</p>
  
  <pre><code>proc = Proc.new do |greeting| 
    puts self.hi + greeting
  end
  
  class Usa
    def hi
      "Hello!"
    end
  end
  Usa.new.instance_eval &amp;proc, 'world' # does not work
  Usa.new.instance_eval &amp;proc('world') # does not work
  </code></pre>
  
  <p>Can anyone help me make it work?</p>