Updated June 28, 2023
Introduction of Ruby Commands
Ruby is an open source programming language. It is interpreted as well as object-oriented. Ruby was created by Yukihiro Matsumoto. Ruby is named after a gemstone and hence the creator related it as the jewel of programming languages. here we will discuss the Different types of Ruby Commands.
The design of Ruby takes the following factors into account – Simplicity, Extensiveness, Completeness, and Portability. Ruby works on most UNIX based platforms. A major portion of Ruby is built on Linux. Ruby also works on common platforms such as Windows, DOS, Mac, etc.
Basic Ruby Commands
Following are the basic commands explained.
1. Simple command to print a string in Ruby
#!/usr/bin/ruby –w
puts "Hello, Ruby!"
2. Simple command to print multiple line string using EOF
#!/usr/bin/ruby –w
print <<EOF
Multiple line string.
First wayEOF
print <<"EOF"; # same as above
Multiple line string.
Second way
EOF
3. Simple command to print multiple line string by using execute a command
#!/usr/bin/ruby –w
print <<`EOC` # execute commands
echo First Statement
echo Second Statement
EOC
4. Simple command to print multiple line string by stacking.
#!/usr/bin/ruby –w
print <<"a", <<"b" # you can stack them
I said foo.
a
I said bar.
b
5. Ruby BEGIN statement
#!/usr/bin/ruby
puts "This statement comes later"
BEGIN {
puts "This statement will be printed in the beginning"
}
6. Ruby END statement
#!/usr/bin/ruby
puts "This is main body"
END {
puts "This block executes in the end"
}
BEGIN {
puts "This block executes in the beginning"
}
7. Ruby single line comment
#!/usr/bin/ruby
# This is a single line comment.
uts "This is not a comment" # This is again a single line
comment.
8. Ruby multiple line comment
#!/usr/bin/ruby=begin
This is a multiple line comment.=end
puts "This is not a comment" # This is a single line comment.
9. Member function in Ruby Class. Creating an object and calling a method.
#!/usr/bin/ruby
class Demo
def testmethod
puts "Hello World!"
end
end
# Now using above class to create objects
object = Demo.new
object.testmethod
10. Global Variables in Ruby
#!/usr/bin/ruby
$globalvariable=123
class FirstClass
def printglobal
puts "Global variable in FirstClass is #$globalvariable"
end
end
class SecondClass
def printglobal
puts "Global variable in SecondClass is #$globalvariable
end
end
class1obj = FirstClass.new
class1obj.printglobal
class2obj = SecondClass.new
class2obj.printglobal
Intermediate Commands
Following are the intermediate commands explained.
1. IF…ELSE in Ruby
#!/usr/bin/ruby
x = 1
if x > 2
puts "x is greater than 2"
elsif x <= 2 and x!=0
puts "x is 1"
else
puts "I can't guess the number"
end
2. Case in Ruby
<#!/usr/bin/ruby
$age = 17
case $age
when 0 .. 17
puts "Not eligible to vote"
when > 17
puts "Eligible to vote"
else
puts "incorrect age"
end
3. Loops in Ruby
- 3.1. While loop
#!/usr/bin/ruby
$i = 0
$num = 10
while $i <
$num do
puts("Inside the loop i = #$i" )
$i = $i + 1
end
- 3.2. Until Loop
#!/usr/bin/ruby
$i = 0
$num = 4
until $i > $num do
puts("Inside the loop i = #$i" )
$i = $i + 1;
end
- 3.3. For Loop
#!/usr/bin/ruby
for i in 0..9
puts "Local variable value is #{i}"
end
- 3.4. Break Statement
#!/usr/bin/ruby
for i in 0..5
if i > 3 then
break
end puts "Local variable is #{i}"
end
- 3.5. Next Statement
#!/usr/bin/ruby
for i in 0..10
if i < 6 then
next
end
puts "Local variable is #{i}"
end
4. Method syntax in Ruby
#!/usr/bin/ruby
def test(a1 = "Noodles", a2 = "Pasta")
puts "The food is #{a1}"
puts "The food is #{a2}"
end
test "Burger", "Pizza"
test
5. Return statement in Ruby
#!/usr/bin/ruby
def testreturn
a = 10
b = 20
c = 30
return a, b, c
endvar1 = testreturn
puts var1
6. Parameterized method in Ruby
#!/usr/bin/ruby
def sample (*testparam)
puts "The number of parameters are #{ testparam.length}"
for i in 0... testparam.length
puts "The parameters are #{testparam[i]}"
end
end
sample "Hello", "123", "ABC", "Programming"
sample "World", "456", "Ruby"
7. Implementing block using yield statement
#!/usr/bin/ruby
def test
yield
end
test{ puts "Hello world"}
8. BEGIN and END blocks in Ruby
#!/usr/bin/ruby
BEGIN { # BEGIN block code
puts "BEGIN code block"
}
END {
# END block code
puts "END code block"
}
# MAIN block code
puts "MAIN code block"
9. String Expression Substitution in Ruby
#!/usr/bin/ruby
a, b, c = 1, 2, 3
puts "The value of a is #{ a }."
puts "The sum of b and c is #{ b + c }."
puts "The average is #{ (a + b + c)/3 }."
10. Array creation in Ruby
#!/usr/bin/ruby
names = Array.new(10)
puts names.size # returns 10
puts names.length # returns 10
Advanced Ruby Commands
Following are the advanced commands explained.
1. Getter and Setter methods in Ruby
#!/usr/bin/ruby -w
# defining a class
class Box
# constructor method
def initialize(l, b, h)
@length, @width, @height = l, b, h
end
# accessor methods
def printLength
@length
end
def printBreadth
@breadth
end
def printHeight
@height
end
end
# create
an object
box = Box.new(10, 30, 40)
# use accessor methods
l = box.printLength()
b = box.printBreadth()
h = box.printHeight()
puts "Box Length : #{l}"
puts "Box Breadth : #{b}"
puts "Box Height : #{h}"
2. Writing common gateway interface scripts using Ruby
#!/usr/bin/ruby
require 'cgi'
cgi = CGI.new
puts cgi.header
puts "<html><body>This is a test</body></html>"
3. Socket Programming using Ruby
- 3.1. A simple example of a server using Ruby
require 'socket' # Get sockets from stdlib
server = TCPServer.open(8090) # listen on port 8090
loop { # Running the server infinitely
client = server.accept # Connecting client wait time
client.puts(Time.now.ctime) # send time to client
client.puts "Closing the connection!"
client.close # Client disconnect
}
- 3.2. A simple example of a client using Ruby
require 'socket' # Get socket from stdlib
hostname = 'localhost' # Set hostname
port = 8090 # Set portsock = TCPSocket.open(hostname, port)
while line = sock.gets # Read lines from the socket
puts line.chop # print with platform line terminator
end
sock.close # Socket closing
4. Multithreading example in Ruby
#!/usr/bin/ruby
def function1
i = 0
while i<=2
puts "function1 at: #{Time.now}"
sleep(2) i = i+1
end
end
def function2
j = 0
while j<=2
puts "function2 at: #{Time.now}"
sleep(1)
j = j+1
end
end
puts "Started At #{Time.now}"
t1 = Thread.new{function1()}
t2 = Thread.new{function2()}
t1.join
t2.join
puts "End at #{Time.now}"
Tips and Tricks to use Ruby Commands
Since working on any programming language it requires knowledge and willingness to upgrade, this case is no exception. Using the basic commands and practicing and mastering the commands is the key to master this beautiful language.
Conclusion
Ruby command is a free and open source programming language; it is flexible and is feature rich. As the name suggests, ruby indeed is a jewel language which comes at a very low entry cost. Its plug and play capability and also easily readable syntax makes it very user-friendly. It’s advanced scripting facility also sums up for its popularity.
Recommended Articles
We hope that this EDUCBA information on “ruby commands” was beneficial to you. You can view EDUCBA’s recommended articles for more information.