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
✗ Incorrect
Since 5 is greater than 3, the condition is true, so it returns 'yes'.
Which symbol separates the true and false parts in a ternary operator?
A?
B!
C;
D:
✗ Incorrect
The colon ':' separates the true part (after '?') and the false part.
What is the output of this code?
puts (10 == 10 ? 'Equal' : 'Not equal')
ANot equal
BEqual
C10
DError
✗ Incorrect
10 == 10 is true, so it prints 'Equal'.
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
✗ Incorrect
This is the correct syntax for a ternary operator.
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
✗ Incorrect
Nesting ternary operators can make code confusing and hard to maintain.
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
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.
Step 2: Identify its purpose
This syntax means it picks one of two values depending on whether the condition is true or false.
Final Answer:
It chooses one of two values based on a condition. -> Option A
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
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.
Step 2: Compare options
Only condition ? value_if_true : value_if_false matches this exact syntax; others misuse punctuation or order.
Final Answer:
condition ? value_if_true : value_if_false -> Option A
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
Step 1: Evaluate the condition age >= 18
Since age is 20, which is greater than or equal to 18, the condition is true.
Step 2: Apply the ternary operator
Because the condition is true, message is assigned "Adult".
Final Answer:
Adult -> Option D
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
Step 1: Check ternary operator syntax
The ternary operator requires a colon ':' between the true and false values.
Step 2: Identify missing colon
The code has "Pass" "Fail" without a colon, causing a syntax error.
Final Answer:
Missing colon between true and false values -> Option B
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
Step 1: Understand nested ternary operator usage
To handle three cases, nest one ternary inside the false part of another, using parentheses for clarity.
Step 2: Analyze each option
status = n > 0 ? "Positive" : (n == 0 ? "Zero" : "Negative") correctly nests the second ternary inside parentheses, ensuring proper evaluation order.
Final Answer:
status = n > 0 ? "Positive" : (n == 0 ? "Zero" : "Negative") -> Option C
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 unknownstrongwhile earning +1 Grip toward your certificate.