Bird
Raised Fist0
Rubyprogramming~5 mins

Comparison operators in Ruby

Choose your learning style10 modes available
Introduction

Comparison operators help you check if things are equal, bigger, or smaller. They let your program make decisions.

Checking if a user entered the right password
Comparing two numbers to find which is bigger
Seeing if a score reached a passing grade
Deciding if a date is before or after today
Syntax
Ruby
a == b  # equals
 a != b  # not equals
 a > b   # greater than
 a < b   # less than
 a >= b  # greater than or equal to
 a <= b  # less than or equal to

Use double equals (==) to check if two things are the same.

Use != to check if two things are different.

Examples
Checks if numbers are equal.
Ruby
5 == 5  # true
5 == 3  # false
Checks if strings are not equal.
Ruby
"cat" != "dog"  # true
"cat" != "cat"  # false
Checks if one number is bigger or smaller than another.
Ruby
10 > 7   # true
3 < 1    # false
Checks if one number is bigger or equal, or smaller or equal.
Ruby
4 >= 4  # true
2 <= 1  # false
Sample Program

This program prints true or false for different comparisons.

Ruby
puts 10 == 10
puts 5 != 3
puts 7 > 9
puts 4 <= 4
OutputSuccess
Important Notes

Remember, == checks value equality, not object identity.

Comparison operators return true or false.

You can use them in if statements to control your program.

Summary

Comparison operators compare two values.

They return true or false.

Use them to make decisions in your code.

Practice

(1/5)
1. Which of the following comparison operators in Ruby checks if two values are equal?
easy
A. ==
B. =
C. !=
D. >

Solution

  1. Step 1: Understand the purpose of each operator

    == checks equality, = assigns values, != checks inequality, and > checks if left is greater than right.
  2. Step 2: Identify the equality operator

    The operator that compares two values for equality is ==.
  3. Final Answer:

    == -> Option A
  4. Quick Check:

    Equality operator = == [OK]
Hint: Equality uses double equals (==), not single equals (=) [OK]
Common Mistakes:
  • Confusing assignment (=) with equality (==)
  • Using != instead of ==
  • Thinking > checks equality
2. Which of the following is the correct syntax to check if variable a is not equal to variable b in Ruby?
easy
A. a !== b
B. a =! b
C. a <> b
D. a != b

Solution

  1. Step 1: Recall Ruby's not equal operator

    Ruby uses != to check if two values are not equal.
  2. Step 2: Check each option's syntax

    a != b is correct. a =! b is invalid syntax. a <> b is not Ruby syntax. a !== b is JavaScript syntax, not Ruby.
  3. Final Answer:

    a != b -> Option D
  4. Quick Check:

    Not equal operator = != [OK]
Hint: Not equal in Ruby is !=, not =! or !== [OK]
Common Mistakes:
  • Using =! instead of !=
  • Using !== which is JavaScript, not Ruby
  • Using <> which is invalid in Ruby
3. What will be the output of the following Ruby code?
a = 5
b = 10
puts a < b
medium
A. true
B. false
C. 5
D. 10

Solution

  1. Step 1: Understand the comparison

    The code compares if a (5) is less than b (10).
  2. Step 2: Evaluate the comparison

    Since 5 is less than 10, the expression a < b is true.
  3. Final Answer:

    true -> Option A
  4. Quick Check:

    5 < 10 = true [OK]
Hint: Less than is <, returns true or false [OK]
Common Mistakes:
  • Confusing output with variable values
  • Expecting numeric output instead of boolean
  • Mixing up < and > operators
4. Identify the error in the following Ruby code:
if x = 10
puts "x is 10"
end
medium
A. Variable x is not declared
B. Missing end keyword
C. Should use == to compare, not =
D. puts syntax is wrong

Solution

  1. Step 1: Analyze the if condition

    The code uses = which assigns 10 to x, not compares.
  2. Step 2: Correct the comparison operator

    To check if x equals 10, use == instead of =.
  3. Final Answer:

    Should use == to compare, not = -> Option C
  4. Quick Check:

    Comparison needs ==, = is assignment [OK]
Hint: Use == for comparison, = is for assignment [OK]
Common Mistakes:
  • Using = instead of ==
  • Thinking missing end keyword causes error
  • Assuming variable must be declared before use
5. You want to check if a number n is between 10 and 20 inclusive in Ruby. Which expression correctly uses comparison operators to do this?
hard
A. n > 10 || n < 20
B. n >= 10 && n <= 20
C. 10 <= n <= 20
D. n == 10 && n == 20

Solution

  1. Step 1: Understand the range check

    We want n to be at least 10 and at most 20, so both conditions must be true.
  2. Step 2: Evaluate each option

    n >= 10 && n <= 20 uses n >= 10 && n <= 20, which correctly checks both limits.
    10 <= n <= 20 uses chained comparison which is invalid in Ruby.
    n > 10 || n < 20 uses OR (||), which allows values outside the range.
    n == 10 && n == 20 checks if n equals both 10 and 20 simultaneously, which is impossible.
  3. Final Answer:

    n >= 10 && n <= 20 -> Option B
  4. Quick Check:

    Use && to combine two comparisons [OK]
Hint: Use && to combine two comparisons for range checks [OK]
Common Mistakes:
  • Trying chained comparisons like 10 <= n <= 20
  • Using || instead of && for range
  • Checking equality to both ends simultaneously
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard