---
name: "irb2.7"
section: "1"
platform: "linux"
package: "ruby2.7"
version: "2.7.4-1+deb11u1"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/irb2.7"
---

# irb2.7(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\]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.

- **--echo**

  Show result(default).

- **--noecho**

  Don't show result.

- **--colorize**

  Use colorization.

- **--nocolorize**

  Don't use colorization.

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

- IRBRC

  Also **irb** depends on same variables as [ruby(1)](/ruby/1.md).

## 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
```

```
%
```

## SEE ALSO

[ruby(1)](/ruby/1.md).

## REPORTING BUGS

- Security vulnerabilities should be reported via an email to *security@ruby-lang.org*. 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.
