×

Ruby Tutorial

Ruby Basics

Ruby Control Statements

Ruby Methods

Ruby Classes and Methods

Ruby Arrays

Ruby Sets

Ruby Strings

Ruby Classes & Objects

Ruby Hash

Ruby Tools

Ruby Functions

Ruby Built-in Functions

Misc.

Ruby Programs

Conditional statements in Ruby

By IncludeHelp Last updated : November 16, 2024

Conditional statements are also known by the name of conditional processing or conditional expressions. They are used to perform a certain set of instructions if a specified condition is met. The conditions are generally of Boolean type and return either true or false as the result. Conditionals are formed using if or case with some comparison operators. A conditional assists data about where to move next. In Ruby, 0 is considered as true whereas in other programming languages it is considered false.

Following are the basic type of conditional statements which are supported by Ruby:

  1. If statement
  2. If else statement
  3. short if statement
  4. If else if statement
  5. Unless
  6. Case statement

1. Ruby if statement

It is the most basic type of branching statement you get to know during programing. In the simpler words, it means if you find this true, do something, and otherwise do something else. They are quite easy to write.

Syntax

if (condition)
  #statements
end

Example

puts "Enter your age"
age = gets.chomp

if age.to_i >= 18
  puts "You are allowed to vote."
end

Output

First run:
Enter your age
23
You are allowed to vote.

Second run:
Enter your age
12

2. Ruby if else statement

if else statement is used to indicate what should happen next if the condition fails to be satisfied. It comes with an additional 'else' with it.

Syntax

if (condition)
  #instructions
else
  #instructions
end

In the above, if..end example we can observe that nothing is showing to the user as the message if the user fails to be older than 18. Let us modify that code and informs the user by using else keyword.

Example

puts "Enter your age"
age = gets.chomp

if age.to_i >= 18
  puts "You are allowed to vote."
else
  puts "You are younger than 18 years."
end

Output

First run:
Enter your age 
23 
You are allowed to vote.

Second run:
Enter your age 
12 
You are younger than 18 years.

3. Ruby Short-if statement

Its functioning is very similar to if...else statement. It is a ternary operator and used for computing result just in one line which saves space and eventually reduces the line of code. It is recommended to be used in small tasks.

Syntax

result = (condition) ? (expression-if-true) : (expression-if-false)

Example

puts "Enter marks:"
marks = gets.chomp.to_i

result = (marks>45)?'pass':'fail'

puts "#{result}"

Output

First run:
Enter marks: 
67 
pass

Second run:
Enter marks: 
12 
fail

In the above example, you have observed that we can compute the result in a single line and we are storing the result in a variable. It is also known as ?: operator.

4. Ruby if else if statement

The if-else if statement provides great help when you have more than two conditions. If the if condition is evaluated as false then the pointer will jump to elsif condition and so on. Remember that, in syntax, it is elsif (an else without 'e').

Syntax

if expression
  #code block.
elsif  expression2
  #code block.   
elsif  expression3
  #code block.   
else
  #code block
end 

Example

puts "Enter fruit:"
fruit = gets.chomp

if fruit=="banana"
  puts "Outstanding Choice!"
elsif fruit=="Apple"
  puts "An Apple a day, keeps the doctor away!"
elsif fruit=="Grapes"
  puts "Good in taste"
else
  puts "I can't get you"
end

Output

First run:
Enter fruit:
Grapes
Good in taste

Second run:
Enter fruit:
Apple
An Apple a day, keeps the doctor away!

5. Ruby unless

The unless statement is a converse of if statement. If statement is evaluated when the condition turns out to be true but in the case of unless statement, the code block it contains will only be executed when the condition results to be false.

Syntax

unless condition
  #code block
end

Example 1

flag = false

unless flag
  puts "flag is false"
end

Output

flag is false

Example 2

flag = true

unless flag
  puts "flag is false"
end

Output

Note: No output will be there because now flag is 'true'.

6. Ruby case statement

case statement can be interchangeably used with if..elsif..end statement. We use a keyword when for implementing case conditionals. Case statement makes our code more readable.

Syntax

case (variable name)
  when (condition)
    #statements
  when (condition)
    #statements
  else
    #statements
end

Example

puts "Enter fruit:"
fruit = gets.chomp

case fruit
when "Banana"
  puts "Outstanding Choice!"
when "Apple"
  puts "An Apple a day, keeps the doctor away!"
when "Grapes"
  puts "Good in taste"
else
  puts "I can't get you"
end

Output

First run:
Enter fruit: 
Banana 
Outstanding Choice!

Second run:
Enter fruit: 
Apple
An Apple a day, keeps the doctor away! 

Observe that we have implemented the same logic using case statement as we have done in if..elsif..end statement.

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.