Once we installed Ruby, we will get one powerful command line interactive Ruby-programming environment called irb (Interactive Ruby). irb is a command line interpreter allowed to enter Ruby commands and instantly see the results in the environment itself. This is very useful when learning Ruby.
In this article we will discuss about invoking ruby command-line interpreter, and using commands at irb shell.
Step 1. To invoke Ruby’s interactive shell; type the below command at command prompt.
Step 2. Once interactive shell is opened and it will display a shell prompt where we can enter our Ruby commands. The shell prompt looks like below:
Step 3. From interactive shell, we can type Ruby commands and we will get immediate responses from the shell. For example: see the below command to display the addition of two numbers 2 and 3.
Step 4. We can enter Ruby methods at shell prompt. For example: below command will display “Hello, World!” message.
irb(main):002:0> puts "Hello, World!"
But why “nil”? Because puts is a method, it will display the text which is passed through an argument and it doesn’t return anything; hence “nil”.
Step 5. We can declare variables also at shell prompt. For example: see the below lines, these will declare “a” and “b” variables and display the result of the command “a*b” at the shell prompt.
Step 6. We can write functions at shell prompt. For example: below commands define the function “DisplayMessage” and called the function from shell prompt. “DisplayMessage” method simply prints the message whatever we passed through its argument at the shell prompt.
irb(main):006:0> def DisplayMessage(message)
irb(main):007:1> puts message
irb(main):009:0> DisplayMessage("Hello, Ruby!")
Step 7. Even we can define Ruby classes at shell prompt. Below example explains the same:
irb(main):001:0> class SampleClass
irb(main):002:1> def SayHello
irb(main):003:2> puts "Hello!"
irb(main):006:0> o = SampleClass.new
Above command created a Ruby class “SampleClass” with a method “SayHello”. Once the class is created, created the instance of the class “o”. From class object, called its method “SayHello”. Finally, it displayed the result “Hello!” at the shell prompt.
Step 8. We can even open sub-irbs from the shell prompt; just type the irb at shell prompt.
Step 9. Once we are done with our experiments in irb; we need to quit from irb. Just type “exit” or “quit” at shell prompt to quit from irb or sub-irb. If it is a sub-irb, it quits from sub-irb and enters into main irb session.
=> #<IRB::Irb: @context=#<IRB::Context:0x00000002bdc868>, @signal_status=:IN_EVAL, scanner=#<RubyLex:0x00000002c87588>>
irb is the best shell to practice Ruby commands or expressions.