Bird
Raised Fist0
Rubyprogramming~20 mins

Comparison operators in Ruby - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ruby Comparison Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of chained comparison with integers
What is the output of this Ruby code?
Ruby
result = 3 < 5 && 5 < 7
puts result
ASyntaxError
Btrue
Cfalse
Dnil
Attempts:
2 left
💡 Hint
Remember that && checks if both sides are true.
❓ Predict Output
intermediate
2:00remaining
Output of spaceship operator <=> with strings
What will this Ruby code output?
Ruby
puts 'apple' <=> 'banana'
A-1
B0
C1
Dnil
Attempts:
2 left
💡 Hint
The spaceship operator returns -1 if left is less than right.
❓ Predict Output
advanced
2:00remaining
Result of comparing different types with == and eql?
What is the output of this Ruby code?
Ruby
a = 5
b = 5.0
puts a == b
puts a.eql?(b)
A
true
false
B
false
false
C
true
true
D
false
true
Attempts:
2 left
💡 Hint
== compares values, eql? compares both value and type.
❓ Predict Output
advanced
2:00remaining
Output of combined comparison with case statement
What will this Ruby code output?
Ruby
score = 85
case score
when 90..100 then puts 'A'
when 80...90 then puts 'B'
else puts 'F'
end
ASyntaxError
BA
CF
DB
Attempts:
2 left
💡 Hint
Check which range includes 85.
🧠 Conceptual
expert
2:00remaining
Behavior of <=> operator with nil values
What error or output results from this Ruby code?
Ruby
puts nil <=> 5
ATypeError
BArgumentError
Cnil
Dfalse
Attempts:
2 left
💡 Hint
The spaceship operator returns nil if values are not comparable.

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