Bird
Raised Fist0
Rubyprogramming~5 mins

Boolean values (true, false, nil) in Ruby - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Boolean values (true, false, nil)
O(n)
Understanding Time Complexity

When working with Boolean values like true, false, and nil in Ruby, it is helpful to understand how fast these checks run.

We want to know how the time to check these values changes as the program runs.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


values = [true, false, nil, true, false]
values.each do |val|
  if val == true
    puts "It's true!"
  elsif val == false
    puts "It's false!"
  else
    puts "It's nil or something else"
  end
end
    

This code checks each value in a list to see if it is true, false, or nil and prints a message.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Looping through each element in the array.
  • How many times: Once for each element in the array.
How Execution Grows With Input

As the number of values grows, the program checks each one once.

Input Size (n)Approx. Operations
1010 checks
100100 checks
10001000 checks

Pattern observation: The number of checks grows directly with the number of items.

Final Time Complexity

Time Complexity: O(n)

This means the time to run grows in a straight line as the list gets longer.

Common Mistake

[X] Wrong: "Checking true, false, or nil is slow because it involves many conditions."

[OK] Correct: Each check is simple and fast; the main time cost comes from how many items you check, not the conditions themselves.

Interview Connect

Understanding how simple checks scale helps you explain your code's speed clearly and confidently in real situations.

Self-Check

"What if we changed the array to a nested array and checked values inside each sub-array? How would the time complexity change?"

Practice

(1/5)
1. In Ruby, which of the following represents a value that means "nothing" or "no value"?
easy
A. nil
B. true
C. false
D. 0

Solution

  1. Step 1: Understand the meaning of nil

    In Ruby, nil is used to represent the absence of any value, like an empty box.
  2. Step 2: Compare with other options

    true and false are Boolean values meaning yes or no, but not "no value". 0 is a number, not a special value for nothing.
  3. Final Answer:

    nil -> Option A
  4. Quick Check:

    nil means no value [OK]
Hint: Remember: nil means no value or empty box [OK]
Common Mistakes:
  • Confusing false with nil
  • Thinking 0 means no value
  • Mixing true and nil meanings
2. Which of the following is the correct way to write a Boolean false value in Ruby?
easy
A. False
B. FalseValue
C. FALSE
D. false

Solution

  1. Step 1: Recall Ruby syntax for Boolean values

    Ruby uses lowercase true and false for Boolean values.
  2. Step 2: Check each option

    False and FALSE are not valid Ruby keywords. FalseValue is not a keyword but a name.
  3. Final Answer:

    false -> Option D
  4. Quick Check:

    Boolean false is lowercase false [OK]
Hint: Boolean keywords are lowercase in Ruby [OK]
Common Mistakes:
  • Using capitalized False or TRUE
  • Adding extra words to Boolean values
  • Confusing symbols with keywords
3. What will the following Ruby code print?
value = nil
if value
  puts "Yes"
else
  puts "No"
end
medium
A. nil
B. Yes
C. No
D. Error

Solution

  1. Step 1: Understand how Ruby treats nil in conditions

    In Ruby, nil is treated as false in conditions.
  2. Step 2: Follow the if-else logic

    Since value is nil, the if value condition is false, so the else branch runs, printing "No".
  3. Final Answer:

    No -> Option C
  4. Quick Check:

    nil acts as false in if [OK]
Hint: nil and false both act as false in conditions [OK]
Common Mistakes:
  • Thinking nil is true
  • Expecting nil to print itself
  • Confusing nil with empty string
4. Find the error in this Ruby code snippet:
if false
  puts "No"
elsif nil
  puts "Maybe"
else
  puts "Yes"
end
medium
A. The condition elsif nil never runs
B. No error, prints "Yes"
C. The code prints "Maybe" incorrectly
D. Syntax error: missing end

Solution

  1. Step 1: Check syntax correctness

    The code has matching if, elsif, and end, so no syntax error.
  2. Step 2: Evaluate conditions in order

    false is false, nil is also false, so both conditions fail and else runs, printing "Yes".
  3. Final Answer:

    No error, prints "Yes" -> Option B
  4. Quick Check:

    False and nil skip to else [OK]
Hint: False and nil conditions skip to else branch [OK]
Common Mistakes:
  • Thinking elsif nil runs
  • Expecting syntax error
  • Confusing elsif with else
5. You want to check if a variable status is either true or nil in Ruby. Which condition correctly does this?
hard
A. if status == true || status == nil
B. if status == true && status == nil
C. if status || nil
D. if status != false

Solution

  1. Step 1: Understand the condition requirements

    You want to check if status is either true OR nil, so use logical OR (||).
  2. Step 2: Analyze each option

    if status == true || status == nil uses status == true || status == nil, which matches the requirement. if status == true && status == nil uses AND, which can never be true for both at once. if status || nil is incorrect syntax and logic. if status != false checks if status is not false, which includes other values too.
  3. Final Answer:

    if status == true || status == nil -> Option A
  4. Quick Check:

    Use OR (||) to check either condition [OK]
Hint: Use || to check if either condition is true [OK]
Common Mistakes:
  • Using && instead of ||
  • Confusing != false with true or nil
  • Writing invalid condition syntax
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