📖 Scenario: You are creating a simple program to check if a person is old enough to vote. Voting age is 18 years or older.
🎯 Goal: Build a Ruby program that uses the ternary operator to decide if a person can vote based on their age.
📋 What You'll Learn
Create a variable called age with a specific integer value.
Create a variable called voting_age set to 18.
Use the ternary operator to create a variable can_vote that holds the string "Yes" if age is greater than or equal to voting_age, otherwise "No".
Print the value of can_vote.
💡 Why This Matters
🌍 Real World
Checking conditions quickly is common in programs, like deciding if someone can access a service based on age.
💼 Career
Understanding the ternary operator helps write concise and readable code, a skill valued in many programming jobs.
Progress0 / 4 steps
1
Set the person's age
Create a variable called age and set it to the integer 20.
Ruby
Hint
Use = to assign the value 20 to the variable age.
2
Set the voting age limit
Create a variable called voting_age and set it to the integer 18.
Ruby
Hint
Use = to assign the value 18 to the variable voting_age.
3
Use the ternary operator to check voting eligibility
Use the ternary operator to create a variable called can_vote that is "Yes" if age is greater than or equal to voting_age, otherwise "No".
Ruby
Hint
The ternary operator format is condition ? value_if_true : value_if_false.
4
Print the voting eligibility
Print the value of the variable can_vote.
Ruby
Hint
Use puts to print the value of can_vote.
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.