Copyright © tutorialspoint.com
Interactive Ruby or irb is an interactive programming environment that comes with Ruby. It was written by Keiju Ishitsuka.
To invoke it, type irb at a shell or command prompt, and begin entering Ruby statements and expressions. Use exit or quit to exit irb.
$ irb[.rb] [options] [programfile] [arguments] |
Here is a complete list of options:
SN | Command with Description |
---|---|
1 | -f Suppress reading of the file ~/.irbrc. |
2 | -m bc mode (load mathn library so fractions or matrix are available). |
3 | -d Set $DEBUG to true (same as ruby -d). |
4 | -r load-module Same as ruby -r. |
5 | -I path Specify $LOAD_PATH directory. |
6 | --inspect Use inspect for output (default except for bc mode). |
7 | --noinspect Don't use inspect for output. |
8 | --readline Use Readline extension module. |
9 | --noreadline Don't use Readline extension module. |
10 | --prompt prompt-mode (--prompt-mode prompt-mode) Switch prompt mode. Predefined prompt modes are default, simple, xmp, and inf-ruby. |
11 | --inf-ruby-mode Use prompt appropriate for inf-ruby-mode on Emacs. Suppresses --readline. |
12 | --simple-prompt Simple prompt mode. |
13 | --noprompt No prompt mode. |
14 | --tracer Display trace for each execution of commands. |
15 | --back-trace-limit n Display backtrace top n and tail n. The default value is 16. |
16 | --irb_debug n Set internal debug level to n (not for popular use). |
17 | -v (--version). Print the version of irb. |
Here is a sample of irb evaluating a variety of expressions::
$ irb irb(main):001:0> 23 + 27 => 50 irb(main):002:0> 50 - 23 => 27 irb(main):003:0> 10 * 5 => 50 irb(main):004:0> 10**5 => 100000 irb(main):006:0> x = 1 => 1 irb(main):007:0> x + 59 => 60 irb(main):005:0> 50 / 5 => 10 irb(main):008:0> hi = "Hello, Mac!" => "Hello, Mac!" |
You can also invoke a single program with irb. After running the program, irb exits. Let's call our hello.rb program:
$ irb hello.rb hello.rb(main):001:0> #!/usr/bin/env ruby hello.rb(main):002:0* hello.rb(main):003:0* class Hello hello.rb(main):004:1> def initialize( hello ) hello.rb(main):005:2> @hello = hello hello.rb(main):006:2> end hello.rb(main):007:1> def hello hello.rb(main):008:2> @hello hello.rb(main):009:2> end hello.rb(main):010:1> end => nil hello.rb(main):011:0> hello.rb(main):012:0* salute = Hello.new( "Hello, Mac!" ) => #<Hello:0x319f20 @hello="Hello, Mac!"> hello.rb(main):013:0> puts salute.hello Hello, Mac! => nil hello.rb(main):014:0> $ |
Copyright © tutorialspoint.com