irb man page

irb ā€” Interactive Ruby Shell


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


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.


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 Readline extension module.


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


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


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.

--irb_debug n

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


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



Personal irb initialization.


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


April 20, 2017