Your company here — click to reach over 10,000 unique daily visitors

irb - Man Page

Interactive Ruby Shell

Examples (TL;DR)


irb[--version] [-dfUw] [-I directory] [-r library] [-E external[:internal]] [-W[level]] [--[no]inspect] [--[no]multiline] [--[no]singleline] [--[no]echo] [--[no]colorize] [--[no]autocomplete] [--[no]verbose] [--prompt mode] [--prompt-mode mode] [--inf-ruby-mode] [--simple-prompt] [--noprompt] [--tracer] [--back-trace-limit 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.


Same as `ruby -w' .


Same as `ruby -W' .


Prints a summary of the options.

-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 multiline editor module.


Doesn't use multiline editor module.


Uses singleline editor module.


Doesn't use singleline editor module.


Add an extra doc dir for the doc dialog.


Show result (default).


Don't show result.


Show result on assignment.


Don't show result on assignment.


Show truncated result on assignment (default).


Use colorization.


Don't use colorization.


Use autocompletion.


Don't use autocompletion.


Use regexp based completion.


Use type based completion.


Show details.


Don't show details.

--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 --multiline and --singleline.


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.



The locale used for irb.


The path to the personal initialization file.


irb respects XDG_CONFIG_HOME. If this is set, load $XDG_CONFIG_HOME/irb/irbrc as a personal initialization file.

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



Personal irb initialization. If IRBRC is set, read $IRBRC instead. If IRBRC is not set and XDG_CONFIG_HOME is set, $XDG_CONFIG_HOME/irb/irbrc is loaded.


% 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


Written by Keiju ISHITSUKA.


August 11, 2019