Reference

irb(1)

Interactive Ruby Shell

NAME

irb – Interactive Ruby Shell

SYNOPSIS

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 ...]

DESCRIPTION

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

OPTIONS

--version

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

-U

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

-d

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

-f

Suppresses read of ~/.irbrc.

-w

Same as `ruby -w' .

-W

Same as `ruby -W' .

-h
--help

Prints a summary of the options.

-r library

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

--inspect

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

--noinspect

Doesn't use inspect for output

--multiline

Uses multiline editor module.

--nomultiline

Doesn't use multiline editor module.

--singleline

Uses singleline editor module.

--nosingleline

Doesn't use singleline editor module.

--extra-doc-dir

Add an extra doc dir for the doc dialog.

--echo

Show result (default).

--noecho

Don't show result.

--echo-on-assignment

Show result on assignment.

--noecho-on-assignment

Don't show result on assignment.

--truncate-echo-on-assignment

Show truncated result on assignment (default).

--colorize

Use colorization.

--nocolorize

Don't use colorization.

--autocomplete

Use autocompletion.

--noautocomplete

Don't use autocompletion.

--regexp-completor

Use regexp based completion.

--type-completor

Use type based completion.

--verbose

Show details.

--noverbose

Don't show details.

--prompt mode
--prompt-mode mode

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

--inf-ruby-mode

Uses prompt appropriate for inf-ruby-mode on emacs. Suppresses --multiline and --singleline.

--simple-prompt

Makes prompts simple.

--noprompt

No prompt mode.

--tracer

Displays trace for each execution of commands.

--back-trace-limit n

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

ENVIRONMENT

IRB_LANG

The locale used for irb.

IRBRC

The path to the personal initialization file.

XDG_CONFIG_HOME

irb respects XDG_CONFIG_HOME. If it is set and IRBRC is unset, load $XDG_CONFIG_HOME/irb/irbrc as a personal initialization file.

RI_PAGER

The command specified would be used as a pager.

PAGER

The command specified would be used as a pager if RI_PAGER is unset.

VISUAL

Its value would be used to open files by the edit command.

EDITOR

Its value would be used to open files by the edit command if VISUAL is unset.

NO_COLOR

Assigning a value to it disables colorization.

IRB_USE_AUTOCOMPLETE

Assigning false to it disables autocompletion.

IRB_COMPLETOR

Autocompletion behavior. Allowed values are regexp or type

IRB_COPY_COMMAND

Overrides the default program used to interface with the system clipboard.

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

FILES

~/.irbrc

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.

EXAMPLES

% irb

irb(main):001:0> 1 + 1

2

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

=> :ok

irb(main):009:0> quit

%

SEE ALSO

ruby(1).

REPORTING BUGS

  • Security vulnerabilities should be reported via an email to [email protected]. Reported problems will be published after being fixed.

  • Other bugs and feature requests can be reported via the Ruby Issue Tracking System (https://bugs.ruby-lang.org/). Do not report security vulnerabilities via this system because it publishes the vulnerabilities immediately.

AUTHORS

Written by Keiju ISHITSUKA.

History

--autocomplete since Debian 12 (Bookworm); --back-trace-limit since Debian 3.1 (Sarge); --colorize since Debian 11 (Bullseye); --echo since Debian 11 (Bullseye); --echo-on-assignment since Debian 12 (Bookworm); --encoding since Debian 8 (Jessie); --extra-doc-dir since Debian 12 (Bookworm); --help since Debian 8 (Jessie); --inf-ruby-mode since Debian 3.1 (Sarge); --inspect since Debian 3.1 (Sarge); --multiline since Debian 11 (Bullseye); --noautocomplete since Debian 12 (Bookworm); --nocolorize since Debian 11 (Bullseye); --noecho since Debian 11 (Bullseye); --noecho-on-assignment since Debian 12 (Bookworm); --noinspect since Debian 3.1 (Sarge); --nomultiline since Debian 11 (Bullseye); --noprompt since Debian 3.1 (Sarge); --nosingleline since Debian 11 (Bullseye); --noverbose since Debian 11 (Bullseye); --prompt since Debian 3.1 (Sarge); --prompt-mode since Debian 3.1 (Sarge); --regexp-completor since Debian 13 (Trixie); --simple-prompt since Debian 3.1 (Sarge); --singleline since Debian 11 (Bullseye); --tracer since Debian 3.1 (Sarge); --truncate-echo-on-assignment since Debian 12 (Bookworm); --type-completor since Debian 13 (Trixie); --verbose since Debian 11 (Bullseye); --version since Debian 3.1 (Sarge); -E since Debian 8 (Jessie); -I since Debian 8 (Jessie); -U since Debian 8 (Jessie); -W since Debian 11 (Bullseye); -d since Debian 3.1 (Sarge); -f since Debian 3.1 (Sarge); -h since Debian 8 (Jessie); -r since Debian 3.1 (Sarge); -w since Debian 11 (Bullseye).

--irb_debug until Debian 10 (Buster); --noreadline until Debian 10 (Buster); --readline until Debian 10 (Buster); -m until Debian 9 (Stretch); -v until Debian 6.0 (Squeeze).