irb man page

irb — Interactive Ruby Shell


irb [--version] [-dfm] [-I directory] [-r library] [--[no]inspect] [--[no]readline] [--prompt mode] [--prompt-mode mode] [--inf-ruby-mode] [--simple-prompt] [--noprompt] [--tracer] [--back-trace-limit n] [--irb_debug n] [--] [program_file] [argument ...]


irb is the REPL(read-eval-print loop) environment for Ruby programs.



Prints the version of irb.

-E external[:internal]
--encoding external[:internal]

Same as `ruby -E' . Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:).

You can omit the one for internal encodings, then the value (Encoding.default_internal) will be nil.

-I path

Same as `ruby -I' . Specifies $LOAD_PATH directory


Same as `ruby -U' . Sets the default value for internal encodings (Encoding.default_internal) to UTF-8.


Same as `ruby -d' . Sets $DEBUG to true.


Suppresses read of ~/.irbrc.


Prints a summary of the options.


Bc mode (load mathn, fraction or matrix are available)

-r library

Same as `ruby -r'. Causes irb to load the library using require.


Uses `inspect' for output (default except for bc mode)


Doesn't use inspect for output


Uses Readline extension module.


Doesn't use Readline extension module.

--prompt mode
--prompt-mode mode

Switch prompt mode. Pre-defined prompt modes are `default', `simple', `xmp' and `inf-ruby'.


Uses prompt appropriate for inf-ruby-mode on emacs. Suppresses --readline.


Makes prompts simple.


No prompt mode.


Displays trace for each execution of commands.

--back-trace-limit n

Displays backtrace top n and tail n. The default value is 16.

--irb_debug n

Sets internal debug level to n (not for popular use)



Also irb depends on same variables as ruby(1).



Personal irb initialization.


% irb
irb(main):001:0> 1 + 1
irb(main):002:0> def t(x)
irb(main):003:1> x+1
irb(main):004:1> end
=> :t
irb(main):005:0> t(3)
=> 4
irb(main):006:0> if t(3) == 4
irb(main):007:1> p :ok
irb(main):008:1> end
=> :ok
irb(main):009:0> quit

See Also


Reporting Bugs

Security vulnerabilities should be reported via an email to ⟨⟩. Reported problems will be published after being fixed.

And you can report other bugs and feature requests via the Ruby Issue Tracking System ( Do not report security vulnerabilities via the system because it publishes the vulnerabilities immediately.


Written by Keiju ISHITSUKA.


November 15, 2012