Bird
Raised Fist0
Rubyprogramming~20 mins

Ternary operator in Ruby - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ternary Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
1:30remaining
Output of a simple ternary expression
What is the output of this Ruby code?
Ruby
result = 5 > 3 ? "yes" : "no"
puts result
Atrue
Bno
Cyes
Dfalse
Attempts:
2 left
💡 Hint
The ternary operator chooses the first value if the condition is true.
❓ Predict Output
intermediate
1:30remaining
Ternary operator with numeric result
What will be the output of this Ruby code?
Ruby
num = 10
result = num.even? ? num / 2 : num * 3
puts result
A20
B30
C10
D5
Attempts:
2 left
💡 Hint
Check if the number is even and then apply the correct operation.
❓ Predict Output
advanced
2:00remaining
Nested ternary operator output
What is the output of this Ruby code with nested ternary operators?
Ruby
score = 75
result = score > 90 ? "A" : score > 80 ? "B" : score > 70 ? "C" : "F"
puts result
AC
BB
CA
DF
Attempts:
2 left
💡 Hint
Evaluate conditions from left to right carefully.
❓ Predict Output
advanced
1:30remaining
Ternary operator with method call
What will this Ruby code output?
Ruby
def check(num)
  num > 0 ? "positive" : "non-positive"
end
puts check(-1)
Aerror
Bnon-positive
Cnil
Dpositive
Attempts:
2 left
💡 Hint
Check the condition num > 0 for -1.
🧠 Conceptual
expert
2:00remaining
Understanding ternary operator precedence
What is the value of variable x after running this Ruby code?
Ruby
x = false || true ? 1 : 2
A1
B2
Ctrue
Dfalse
Attempts:
2 left
💡 Hint
Remember that ternary operator has higher precedence than || operator.

Practice

(1/5)
1. What does the ternary operator do in Ruby?
condition ? value_if_true : value_if_false
easy
A. It chooses one of two values based on a condition.
B. It creates a loop that runs twice.
C. It defines a new method.
D. It comments out a line of code.

Solution

  1. Step 1: Understand the ternary operator syntax

    The ternary operator uses a condition followed by a question mark, then the value if true, a colon, and the value if false.
  2. Step 2: Identify its purpose

    This syntax means it picks one of two values depending on whether the condition is true or false.
  3. Final Answer:

    It chooses one of two values based on a condition. -> Option A
  4. Quick Check:

    condition ? true_value : false_value = chooses value [OK]
Hint: Remember: condition ? true : false picks one value fast [OK]
Common Mistakes:
  • Thinking it creates loops
  • Confusing it with method definitions
  • Believing it comments code
2. Which of the following is the correct syntax for a ternary operator in Ruby?
easy
A. condition ? value_if_true : value_if_false
B. condition : value_if_true ? value_if_false
C. condition ? value_if_true ; value_if_false
D. condition ? value_if_true, value_if_false

Solution

  1. Step 1: Recall the ternary operator format

    The correct format is condition followed by a question mark, then the true value, a colon, and the false value.
  2. Step 2: Compare options

    Only condition ? value_if_true : value_if_false matches this exact syntax; others misuse punctuation or order.
  3. Final Answer:

    condition ? value_if_true : value_if_false -> Option A
  4. Quick Check:

    Syntax = condition ? true : false [OK]
Hint: Question mark then colon separate true and false parts [OK]
Common Mistakes:
  • Swapping question mark and colon
  • Using semicolon instead of colon
  • Separating values with commas
3. What is the output of this Ruby code?
age = 20
message = age >= 18 ? "Adult" : "Minor"
puts message
medium
A. Minor
B. 20
C. SyntaxError
D. Adult

Solution

  1. Step 1: Evaluate the condition age >= 18

    Since age is 20, which is greater than or equal to 18, the condition is true.
  2. Step 2: Apply the ternary operator

    Because the condition is true, message is assigned "Adult".
  3. Final Answer:

    Adult -> Option D
  4. Quick Check:

    20 >= 18 ? "Adult" : "Minor" = "Adult" [OK]
Hint: Check condition result first, then pick true or false value [OK]
Common Mistakes:
  • Choosing the false value by mistake
  • Printing the variable instead of its value
  • Confusing syntax errors
4. Find the error in this Ruby code using a ternary operator:
score = 75
result = score > 60 ? "Pass" "Fail"
puts result
medium
A. Wrong variable name
B. Missing colon between true and false values
C. Missing question mark after condition
D. Using double quotes incorrectly

Solution

  1. Step 1: Check ternary operator syntax

    The ternary operator requires a colon ':' between the true and false values.
  2. Step 2: Identify missing colon

    The code has "Pass" "Fail" without a colon, causing a syntax error.
  3. Final Answer:

    Missing colon between true and false values -> Option B
  4. Quick Check:

    Syntax = condition ? true : false [OK]
Hint: Always put ':' between true and false parts [OK]
Common Mistakes:
  • Omitting the colon
  • Using comma instead of colon
  • Forgetting the question mark
5. You want to assign a variable status based on a number n: if n is positive, assign "Positive"; if zero, assign "Zero"; else assign "Negative". Which Ruby code using ternary operators is correct?
hard
A. status = n > 0 ? "Positive" : n == 0 ? "Zero" "Negative"
B. status = n > 0 ? "Positive" : "Zero" ? n == 0 : "Negative"
C. status = n > 0 ? "Positive" : (n == 0 ? "Zero" : "Negative")
D. status = (n > 0 ? "Positive" : "Zero") ? n == 0 : "Negative"

Solution

  1. Step 1: Understand nested ternary operator usage

    To handle three cases, nest one ternary inside the false part of another, using parentheses for clarity.
  2. Step 2: Analyze each option

    status = n > 0 ? "Positive" : (n == 0 ? "Zero" : "Negative") correctly nests the second ternary inside parentheses, ensuring proper evaluation order.
  3. Final Answer:

    status = n > 0 ? "Positive" : (n == 0 ? "Zero" : "Negative") -> Option C
  4. Quick Check:

    Nested ternary with parentheses = correct [OK]
Hint: Use parentheses to nest ternary operators clearly [OK]
Common Mistakes:
  • Missing parentheses causing wrong evaluation
  • Misplacing question marks and colons
  • Confusing order of conditions
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