Introduction to Ruby Conditionals

Written by noomdalv | Published 2020/04/08
Tech Story Tags: ruby | ruby-on-rails | coding | software-development | tutorial | beginners | learning-to-code | programming

TLDR Ruby syntax provides the necessary elements to translate any conditional programming sequence into manageable and easy to read lines of code. The if statement evaluates anything we put in front of him, if the result returnsor(null) then we continue with the next condition, in this case(else if) and the same process applies, if no condition is, the statement is executed. The case statement is another Ruby conditional that can be used as an alternative to if / unless. The expression acts as a question and the outcome is determined by the answer to that question.via the TL;DR App

Our daily life contains a set of conditionals whose job is to define us as individuals, these conditionals are introduced to us from the very first day:
  • Basic
    if
    expression
if user.status == "online"
  puts "hello world"
end
Ruby syntax provides the necessary elements to translate any conditional programming sequence into manageable and easy to read lines of code.

IF / ELSIF / ELSE STATEMENT

The
if
expression acts as a question and the outcome is determined by the answer to that question, with the help of the
elsif
and
else 
statements, the possibilities are endless:
if user.mood == "happy"
  puts "time to study"
elsif user.mood == "sad"
  puts "time to play"
else 
  puts "time to code"
end
The
if
statement evaluates anything we put in front of him, if the result returns
true
the condition is accepted and the piece of code inside gets executed, if the result returns
false
or
nil
(null) then we continue with the next condition, in this case
elsif
(else if) and the same process applies, if the result of
elsif
is
true
then it should output the message
"time to play"
, and finally if no condition is
true
, the
else
statement is executed.
IF AS A MODIFIER
As with the example above, the difference here is that first we need to write the "answer" or the code to be executed, then we pass the
if
statement followed by the "question" or condition, which it's executed if the result is
true
:
puts "it's true!" if 1 > 0
# returns "it's true"
alarm.sound = off if current_day = 'saturday' || current_day = 'sunday'

UNLESS STATEMENT

Unlike the
if
statement who checks for a
true
value, the
unless
statement does the opposite and checks for
false
or
nil
:
unless cellphone.battery.percentage > 14
  cellphone.start_charge
end
We can combine the
unless
expression only with the
else
statement:
unless job.isDone?
  puts "go back to work"
else
  puts "good job!"
end

job.isDone = true
# returns "good job!"
UNLESS AS A MODIFIER
Just as his relative
if
,
unless
can be used as a modifier serving the same purpose but only executing itself when the result is
false
or
nil:
  • Examples:
puts "it's not right!" unless 4 > 3
# 4 > 3 is true so code doesn't execute
alarm.sound = on unless current_time < "7:00am"

CASE / WHEN / ELSE STATEMENT

The
case
statement is another Ruby conditional that can be used as an alternative to
if / unless
, it's most frequently used to structure and create efficient code when there is a wide number of possible outcomes:
case fuel_level
when 71...100
  puts "Fuel Level: High"
when 41...70
  puts "Fuel Level: Medium"
when 21...40
  puts "Fuel Level: Low"
else
  puts "Fuel Level: Very Low"
end

fuel_level: 12
# returns "Fuel Level: Very Low"
case
is the expression to be evaluated, the
when
expression contains each one of the conditions, if a condition returns
true
, the code inside is executed and concludes with the
end
statement, finally the
else
expression acts as the default condition to be executed if none of the case conditions return
true
.
Links
If you made it this far i hope this article helped you in one way or another, thanks for reading!

Published by HackerNoon on 2020/04/08