Bird
Raised Fist0
Rubyprogramming~5 mins

Inline if and unless (modifier form) in Ruby - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the inline if modifier form in Ruby?
It is a way to write an if statement at the end of a line, like: puts "Hello" if condition. The code before if runs only if the condition is true.
Click to reveal answer
beginner
How does the inline unless modifier form work in Ruby?
It runs the code before unless only if the condition is false. For example: puts "No" unless condition prints "No" when the condition is false.
Click to reveal answer
beginner
Rewrite this code using inline if modifier:
if age >= 18
  puts "Adult"
end
puts "Adult" if age >= 18
Click to reveal answer
beginner
What is the difference between inline if and inline unless?
Inline if runs code when the condition is true. Inline unless runs code when the condition is false. They are opposites.
Click to reveal answer
intermediate
Can you use inline if and unless with multiple statements?
No, inline if/unless works best with single statements. For multiple lines, use regular if/unless blocks.
Click to reveal answer
What does this Ruby code do?
puts "Go" if ready
AAlways prints "Go"
BPrints "Go" only if ready is false
CPrints "Go" only if ready is true
DDoes nothing
What will this code print?
puts "Stop" unless moving
if moving is false.
APrints "Stop" only if moving is true
BPrints "Stop"
CPrints nothing
DRaises an error
Which is the correct inline if syntax?
Aputs "Yes" if condition
Bif condition puts "Yes"
Cputs if condition "Yes"
Dputs "Yes" then if condition
Can you write multiple statements after an inline if?
AYes, inside curly braces
BYes, separated by semicolons
CYes, separated by commas
DNo, only one statement is allowed
What does this code do?
puts "Ready" unless not_ready
APrints "Ready" if not_ready is false
BNever prints anything
CAlways prints "Ready"
DPrints "Ready" if not_ready is true
Explain how the inline if modifier works in Ruby and give a simple example.
Think about writing an if statement at the end of a line.
You got /3 concepts.
    Describe the difference between inline if and inline unless modifiers in Ruby.
    Focus on when the code runs depending on the condition.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the following Ruby code do?
      puts "Hello" if true
      easy
      A. Prints "Hello" because the condition is true
      B. Prints nothing because the condition is false
      C. Raises a syntax error
      D. Prints "Hello" only if false

      Solution

      1. Step 1: Understand the inline if condition

        The code uses if true, so the condition is always true.
      2. Step 2: Determine the action based on the condition

        Since the condition is true, puts "Hello" runs and prints "Hello".
      3. Final Answer:

        Prints "Hello" because the condition is true -> Option A
      4. Quick Check:

        Inline if with true condition prints output [OK]
      Hint: If condition is true, inline if runs the code [OK]
      Common Mistakes:
      • Thinking it prints only if condition is false
      • Confusing inline if with inline unless
      • Expecting syntax error for inline if
      2. Which of the following is the correct syntax for using inline unless in Ruby?
      easy
      A. puts "No" unless false
      B. puts "No" unless
      C. puts "No"unless (false)
      D. puts "No" unless: false

      Solution

      1. Step 1: Recall inline unless syntax

        Inline unless requires a condition after the keyword, like unless false.
      2. Step 2: Check each option

        puts "No" unless false is valid syntax. puts "No"unless (false) puts "No"unless (false) is invalid due to missing space after the string literal. Options B and D are incomplete or invalid.
      3. Final Answer:

        puts "No" unless false -> Option A
      4. Quick Check:

        Inline unless needs a condition after it [OK]
      Hint: Inline unless needs a condition right after it [OK]
      Common Mistakes:
      • Omitting the condition after unless
      • Using colon instead of space
      • Adding unnecessary parentheses
      3. What is the output of this Ruby code?
      count = 0
      count += 1 if false
      count += 1 unless false
      puts count
      medium
      A. 0
      B. 2
      C. 1
      D. SyntaxError

      Solution

      1. Step 1: Evaluate first increment with inline if

        count += 1 if false does not run because condition is false, so count stays 0.
      2. Step 2: Evaluate second increment with inline unless

        count += 1 unless false runs because unless false means if true, so count becomes 1.
      3. Step 3: Print the final count

        puts count prints 1.
      4. Final Answer:

        1 -> Option C
      5. Quick Check:

        Inline if false skips, inline unless false runs [OK]
      Hint: Inline unless runs when condition is false [OK]
      Common Mistakes:
      • Thinking inline if false runs the code
      • Confusing unless with if
      • Expecting count to be 2
      4. Identify the error in this Ruby code:
      puts "Done" unless
      medium
      A. Incorrect use of puts
      B. Missing condition after unless
      C. Should use if instead of unless
      D. No error, code runs fine

      Solution

      1. Step 1: Check the inline unless syntax

        Inline unless requires a condition after it to decide when to run the code.
      2. Step 2: Analyze the given code

        The code ends with unless but no condition follows, causing a syntax error.
      3. Final Answer:

        Missing condition after unless -> Option B
      4. Quick Check:

        Inline unless must have a condition [OK]
      Hint: Always put a condition after unless [OK]
      Common Mistakes:
      • Leaving out the condition after unless
      • Thinking puts usage is wrong
      • Confusing syntax error with runtime error
      5. Given the array nums = [0, 1, 2, 3], which code snippet correctly prints only the non-zero numbers using inline unless?
      hard
      A. nums.each { |n| puts n if n != 0 }
      B. nums.each { |n| puts n if n == 0 }
      C. nums.each { |n| puts n unless n != 0 }
      D. nums.each { |n| puts n unless n == 0 }

      Solution

      1. Step 1: Understand the goal

        We want to print numbers except zero, so skip zero and print others.
      2. Step 2: Analyze each option

        nums.each { |n| puts n unless n == 0 } uses puts n unless n == 0, which prints n only if n is not zero. nums.each { |n| puts n if n == 0 } prints only zero, which is wrong. nums.each { |n| puts n unless n != 0 } prints only zero because unless n != 0 means if n == 0. nums.each { |n| puts n if n != 0 } prints non-zero numbers but uses inline if, not unless.
      3. Final Answer:

        nums.each { |n| puts n unless n == 0 } -> Option D
      4. Quick Check:

        Inline unless skips zero, prints others [OK]
      Hint: Use unless with condition to skip unwanted values [OK]
      Common Mistakes:
      • Confusing unless with if
      • Printing zero instead of skipping
      • Using wrong condition logic
      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