IRB
IRB
stands for "interactive Ruby" and is a tool to interactively execute Ruby expressions read from the standard input.
The irb
command from your shell will start the interpreter.
Installation
[!Note]
IRB
is a default gem of Ruby so you shouldn't need to install it separately.But if you're using Ruby 2.6 or later and want to upgrade/install a specific version of
IRB
, please follow these steps.
To install it with bundler
, add this line to your application's Gemfile:
gem 'irb'
And then execute:
$ bundle
Or install it directly with:
$ gem install irb
Usage
[!Note]
We're working hard to match Pry's variety of powerful features in IRB, and you can track our progress or find contribution ideas in this document.
The irb
Executable
You can start a fresh IRB session by typing irb
in your terminal.
In the session, you can evaluate Ruby expressions or even prototype a small Ruby script. An input is executed when it is syntactically complete.
$ irb
irb(main):001> 1 + 2
=> 3
irb(main):002* class Foo
irb(main):003* def foo
irb(main):004* puts 1
irb(main):005* end
irb(main):006> end
=> :foo
irb(main):007> Foo.new.foo
1
=> nil
The binding.irb
Breakpoint
If you use Ruby 2.5 or later versions, you can also use binding.irb
in your program as breakpoints.
Once a binding.irb
is evaluated, a new IRB session will be started with the surrounding context:
$ ruby test.rb
From: test.rb @ line 2 :
1: def greet(word)
=> 2: binding.irb
3: puts "Hello #{word}"
4: end
5:
6: greet("World")
irb(main):001:0> word
=> "World"
irb(main):002:0> exit
Hello World
Debugging
You can use IRB as a debugging console with debug.gem
with these options:
- In
binding.irb
, use thedebug
command to start anirb:rdbg
session with access to alldebug.gem
commands. - Use the
RUBY_DEBUG_IRB_CONSOLE=1
environment variable to makedebug.gem
use IRB as the debugging console.
To learn more about debugging with IRB, see Debugging with IRB.
Documentation
https://ruby.github.io/irb/ provides a comprehensive guide to IRB's features and usage.
Configuration
See the Configuration page in the documentation.
Extending IRB
IRB v1.13.0
and later versions allows users/libraries to extend its functionality through official APIs.
For more information, please visit the IRB Extension Guide.
Contributing
See CONTRIBUTING.md for more information.
Releasing
rake release
gh release create vX.Y.Z --generate-notes
License
The gem is available as open source under the terms of the 2-Clause BSD License.