Bird
Raised Fist0
Rubyprogramming~15 mins

Truthy and falsy values (only nil and false are falsy) in Ruby - Mini Project: Build & Apply

Choose your learning style10 modes available
Truthy and falsy values (only nil and false are falsy)
📖 Scenario: Imagine you are checking a list of items to see which ones are considered true or false in Ruby. In Ruby, only false and nil are treated as false in conditions. Everything else is true.
🎯 Goal: You will create a list of different values, then write code to check which values are truthy or falsy according to Ruby's rules, and finally print the results.
📋 What You'll Learn
Create an array called values with specific elements
Create a variable called falsy_values to hold falsy items
Use a for loop with variable value to check each item
Print the falsy_values array at the end
💡 Why This Matters
🌍 Real World
Understanding truthy and falsy values helps when writing conditions in programs, like deciding if a user input is valid or if a feature should run.
💼 Career
Many programming jobs require knowing how different values behave in conditions to avoid bugs and write clear code.
Progress0 / 4 steps
1
Create the list of values
Create an array called values with these exact elements: false, nil, 0, "" (empty string), [] (empty array), and "hello".
Ruby
Hint

Remember to use square brackets [] to create an array and separate items with commas.

2
Create a variable to hold falsy values
Create an empty array called falsy_values to store values that are falsy.
Ruby
Hint

Use [] to create an empty array.

3
Check each value and collect falsy ones
Use a for loop with variable value to go through each item in values. Inside the loop, use an if statement to check if value is false or nil. If yes, add value to the falsy_values array.
Ruby
Hint

Use for value in values to loop. Use if value == false || value == nil to check falsy values. Use << to add to the array.

4
Print the falsy values
Write a puts statement to print the falsy_values array.
Ruby
Hint

Use puts falsy_values.inspect to print the array in a readable format.

Practice

(1/5)
1. In Ruby, which of the following values is considered falsy?
easy
A. false
B. 0
C. "" (empty string)
D. [] (empty array)

Solution

  1. Step 1: Recall Ruby falsy values

    In Ruby, only false and nil are falsy.
  2. Step 2: Check each option

    0, empty string, and empty array are all truthy in Ruby.
  3. Final Answer:

    false -> Option A
  4. Quick Check:

    Falsy = false or nil [OK]
Hint: Only false and nil are falsy in Ruby [OK]
Common Mistakes:
  • Thinking 0 is falsy like in some other languages
  • Assuming empty string is falsy
  • Confusing empty array with falsy
2. Which of the following is the correct way to check if a variable x is truthy in Ruby?
easy
A. if x == true
B. if x
C. if x != nil
D. if x == nil

Solution

  1. Step 1: Understand Ruby truthy check

    In Ruby, if x automatically checks if x is truthy (not false or nil).
  2. Step 2: Analyze options

    if x == true only matches true, missing other truthy values; if x != nil treats false as truthy (false != nil); if x == nil checks the opposite of truthy.
  3. Final Answer:

    if x -> Option B
  4. Quick Check:

    Use if x for truthy check [OK]
Hint: Use 'if x' to check truthiness simply [OK]
Common Mistakes:
  • Using 'if x == true' which misses other truthy values
  • Using 'if x != nil' which treats false as truthy
  • Checking 'if x == nil' to test truthiness
3. What will be the output of this Ruby code?
value = 0
if value
  puts "Truthy"
else
  puts "Falsy"
end
medium
A. No output
B. Falsy
C. Error
D. Truthy

Solution

  1. Step 1: Identify the value and condition

    The variable value is assigned 0. The if value checks if value is truthy.
  2. Step 2: Recall Ruby truthy rules

    In Ruby, 0 is truthy, so the if branch runs.
  3. Final Answer:

    Truthy -> Option D
  4. Quick Check:

    0 is truthy in Ruby [OK]
Hint: Remember 0 is truthy in Ruby, unlike some languages [OK]
Common Mistakes:
  • Assuming 0 is falsy like in other languages
  • Expecting else branch to run
  • Confusing output with error
4. The following Ruby code is intended to print "Falsy" only when var is falsy. What is wrong?
var = nil
if var == false
  puts "Falsy"
else
  puts "Truthy"
end
medium
A. It should check 'if var == nil' only
B. Syntax error in the if statement
C. It misses the case when var is nil, which is also falsy
D. It should use 'var != false' instead

Solution

  1. Step 1: Understand falsy values in Ruby

    Both false and nil are falsy in Ruby.
  2. Step 2: Analyze the condition

    The code checks only var == false, so it misses nil which is also falsy.
  3. Final Answer:

    It misses the case when var is nil, which is also falsy -> Option C
  4. Quick Check:

    Falsy = false or nil [OK]
Hint: Check both false and nil for falsy, not just false [OK]
Common Mistakes:
  • Checking only for false and ignoring nil
  • Confusing syntax errors with logic errors
  • Using wrong comparison operators
5. You want to filter out falsy values from this array in Ruby:
arr = [false, nil, 0, "", [], true]
Which code correctly returns only truthy values?
hard
A. arr.select { |v| v }
B. arr.reject { |v| v }
C. arr.select { |v| v != false }
D. arr.select { |v| v == true }

Solution

  1. Step 1: Understand filtering truthy values

    Using select { |v| v } keeps only truthy values because v in condition is true for truthy values.
  2. Step 2: Analyze other options

    arr.select { |v| v != false } keeps nil (nil != false); arr.reject { |v| v } rejects truthy values; arr.select { |v| v == true } keeps only true, missing other truthy values.
  3. Final Answer:

    arr.select { |v| v } -> Option A
  4. Quick Check:

    Use select with block returning value for truthy filter [OK]
Hint: Use select { |v| v } to keep truthy values [OK]
Common Mistakes:
  • Using reject instead of select
  • Checking explicitly for false instead of truthiness
  • Selecting only true, missing other truthy values
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