irb(1)

irb1

Interactive ruby shell

Usage

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

Overview

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.

-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

--readline

Uses Readline extension module.

--noreadline

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

--inf-ruby-mode

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

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

--irb_debug n

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

Environment

IRBRC

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

Files

~/.irbrc

Personal irb initialization.

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
%

Releases

115 releases since Mac OS X 10.5; the text changed 4 times.

  1. 10.5–10.8.5
  2. 10.9–10.12.6
  3. 10.13–10.13.5
  4. 10.13.6–10.14.6
  5. 10.15–26.5

--back-trace-limit since OS X 10.9; --encoding since OS X 10.9; --help since OS X 10.9; --inf-ruby-mode since OS X 10.9; --inspect since OS X 10.9; --irb_debug since OS X 10.9; --noinspect since OS X 10.9; --noprompt since OS X 10.9; --noreadline since OS X 10.9; --prompt since OS X 10.9; --prompt-mode since OS X 10.9; --readline since OS X 10.9; --simple-prompt since OS X 10.9; --tracer since OS X 10.9; --version since OS X 10.9; -E since OS X 10.9; -I since OS X 10.9; -U since OS X 10.9; -d since OS X 10.9; -f since OS X 10.9; -h since OS X 10.9; -r since OS X 10.9.

-m until macOS 10.14.6.

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.

From ruby 175 in macOS 26.5. Parsed by carta from the page's mdoc source.