title: `binding.pry` vs `pry`
body: <p>What is the difference between calling <code>pry</code> and <code>binding.pry</code>? For example:</p>
  
  <pre><code>require 'pry'
  
  class Bookshop
    def initialize(book)
      @books = []
      @hp = 'harry potter'
      lotr = 'lord of the rings'
      @books &lt;&lt; @harry_potter
      @books &lt;&lt; lord_of_the_rings
      @books &lt;&lt; book
      binding.pry #OR pry
    end
  
    def print_all_books
      puts @books.join(', ')
    end
  end
  
  new_bookshop = Bookshop.new('the hobbit')
  </code></pre>
  
  <ul>
  <li><code>binding.pry</code> gives me access to instance variable <code>@hp</code>, local variables <code>lotr</code>, and instance method <code>print_all_books</code>.</li>
  <li><code>pry</code> gives access to instance variables and methods, but throws a <code>NameError: undefined local variable</code> for <code>lotr</code>.</li>
  </ul>
  
  <p>Both indicate the same context. what is going on here? Is there a case in which calling <code>pry</code> over <code>binding.pry</code> is desirable?</p>