This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

irb

        # Binding.irb

(from ruby core)
---
    irb()

---

Opens an IRB session where `binding.irb` is called which allows for
interactive debugging. You can call any methods or variables available
in the current scope, and mutate state if you need to.

Given a Ruby file called `potato.rb` containing the following code:

    class Potato
      def initialize
        @cooked = false
        binding.irb
        puts "Cooked potato: #{@cooked}"
      end
    end

    Potato.new

Running `ruby potato.rb` will open an IRB session where `binding.irb` is
called, and you will see the following:

    $ ruby potato.rb

    From: potato.rb @ line 4 :

        1: class Potato
        2:   def initialize
        3:     @cooked = false
     => 4:     binding.irb
        5:     puts "Cooked potato: #{@cooked}"
        6:   end
        7: end
        8:
        9: Potato.new

    irb(#<Potato:0x00007feea1916670>):001:0>

You can type any valid Ruby code and it will be evaluated in the current
context. This allows you to debug without having to run your code
repeatedly:

    irb(#<Potato:0x00007feea1916670>):001:0> @cooked
    => false
    irb(#<Potato:0x00007feea1916670>):002:0> self.class
    => Potato
    irb(#<Potato:0x00007feea1916670>):003:0> caller.first
    => ".../2.5.1/lib/ruby/2.5.0/irb/workspace.rb:85:in `eval'"
    irb(#<Potato:0x00007feea1916670>):004:0> @cooked = true
    => true

You can exit the IRB session with the `exit` command. Note that exiting
will resume execution where `binding.irb` had paused it, as you can see
from the output printed to standard output in this example:

    irb(#<Potato:0x00007feea1916670>):005:0> exit
    Cooked potato: true

See IRB@IRB+Usage for more information.



      

This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.