Conditional Statements

A conditional statement tests whether a statement is true or false and performs logic based on the answer. Both true and false are pseudovariables—you can’t assign values to them. The former is an object of TrueClass, and the latter is an object of FalseClass.

The if Statement

These statements begin with if and close with end:

if x == y then puts "x equals y" end

if x != y: puts "x is not equal to y" end

if x > y
  puts "x is greater than y"
end

The separator then (or its synonym :) is optional unless the statement is on one line.

Negation

The negation operator ! reverses the true/false value of its expression:

if !x == y then puts "x does not equal y" end

if !x > y
  puts "x is not greater than y"
end

Multiple tests

Combine multiple tests in an if statement using && and ||, or their synonyms and and or, which have lower precedence:

ruby = "nifty"
programming = "fun"

if ruby == "nifty" && programming == "fun"
  puts "Keep programming!"
end

if a == 10 && b == 27 && c == 43 && d == −14
  print sum = a + b + c + d
end

if ruby=="nifty" and programming=="fun" and
weather=="nice"
  puts "Stop programming and go outside for a break!"
end

if a == 10 || b == 27 || c = 43 || d = −14
  print sum = a + b + c + d
end

if ruby == "nifty" or programming == "fun"
  puts "Keep programming!"
end

Statement modifier for if

You can also use if as a statement modifier by placing the if at the end of the statement:

puts "x is less than y" if x < y

The else statement

Add an optional else to execute a statement ...

Get Ruby Pocket Reference now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.