# IRB - Interactive Ruby Shell - man(1) - [phpMan]

> **TLDR:** Interactive Ruby shell.
>
- Start the interactive shell:
  `irb`
- Start the interactive shell with the simple prompt:
  `irb --simple-prompt`
- Start the interactive shell without reading the configuration file:
  `irb -f`
- Evaluate Ruby code read from `stdin`:
  `echo "{{puts 'Hello world'}}" | irb --noecho`
- Display help:
  `irb {{-h|--help}}`
- Display version:
  `irb {{-v|--version}}`

*Source: tldr-pages*

---

[_IRB_(1)](https://www.chedong.com/phpMan.php/man/IRB/1/markdown)                            Ruby Programmer's Reference Guide                           [_IRB_(1)](https://www.chedong.com/phpMan.php/man/IRB/1/markdown)

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

### -U             
                      (**Encoding.default_internal**) **to UTF-8.**

### -d             

### -f             

### -w             

### -W             

### -h
       **--help         **Prints a summary of the options.

### -r _

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

       **--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     this     is    set,    load
                        _$XDG_CONFIG_HOME/irb/irbrc_ as a personal initialization file.

       Also **irb **depends on same variables as [_ruby_(1)](https://www.chedong.com/phpMan.php/man/ruby/1/markdown).

## 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)](https://www.chedong.com/phpMan.php/man/t/3/markdown)**
             **=> 4**
             **irb(main):006:0> if [t(3)](https://www.chedong.com/phpMan.php/man/t/3/markdown) == 4**
             **irb(main):007:1> p :ok**
             **irb(main):008:1> end**
             **:ok**
             **=> :ok**
             **irb(main):009:0> quit**
             **%**

## SEE ALSO
       [_ruby_(1)](https://www.chedong.com/phpMan.php/man/ruby/1/markdown).

## REPORTING BUGS
       **•   **Security  vulnerabilities should be reported via an email to <_security@ruby-lang.org_>.  Re‐
           ported 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.

UNIX                                       August 11, 2019                                    [_IRB_(1)](https://www.chedong.com/phpMan.php/man/IRB/1/markdown)
