Interactive Ruby (irb)


Advertisements


Interactive Ruby or irb is an interactive programming environment that comes with Ruby. It was written by Keiju Ishitsuka.

Usage Syntax

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 −

Sr.No. Command & Description
1

-f

Suppress reading of the file ~/.irbrc.

2

-m

bc mode (load mathn library so fractions or matrix are available).

3

-d

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

Example

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

ruby_associated_tools.htm

Advertisements