Bird
Raised Fist0
Rubyprogramming~5 mins

Ternary operator in Ruby - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the ternary operator in Ruby?
The ternary operator is a short way to write an if-else statement. It uses the syntax: condition ? true_value : false_value.
Click to reveal answer
beginner
How does the ternary operator work in Ruby?
It checks the condition before the ?. If true, it returns the value after ? and before :. If false, it returns the value after :.
Click to reveal answer
beginner
Rewrite this if-else using a ternary operator:
if age >= 18
  status = 'adult'
else
  status = 'minor'
end
status = age >= 18 ? 'adult' : 'minor'
Click to reveal answer
intermediate
Can the ternary operator be nested in Ruby?
Yes, you can nest ternary operators, but it can make code hard to read. It's better to use if-else for complex conditions.
Click to reveal answer
beginner
What is a common use case for the ternary operator?
It is used for simple decisions to assign a value quickly without writing multiple lines of if-else statements.
Click to reveal answer
What does this Ruby code return?
5 > 3 ? 'yes' : 'no'
A'no'
B5
C'yes'
D3
Which symbol separates the true and false parts in a ternary operator?
A?
B!
C;
D:
What is the output of this code?
puts (10 == 10 ? 'Equal' : 'Not equal')
ANot equal
BEqual
C10
DError
Is this a valid ternary operator usage in Ruby?
result = condition ? do_something : do_something_else
AYes, it's valid
BNo, syntax error
COnly if condition is true
DOnly if condition is false
Why might you avoid nesting ternary operators?
AThey make code hard to read
BThey run slower
CThey cause syntax errors
DThey are not supported in Ruby
Explain how the ternary operator works in Ruby and give a simple example.
Think of it as a short if-else in one line.
You got /6 concepts.
    Describe a situation where using a ternary operator is better than an if-else statement.
    When you want to assign a value quickly based on a condition.
    You got /4 concepts.

      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