Bird
Raised Fist0
Rubyprogramming~10 mins

Nil as the absence of value in Ruby - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assign nil to the variable.

Ruby
value = [1]
Drag options to blanks, or click blank then click option'
ANone
Bnil
Cundefined
Dnull
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'null' or 'None' which are from other languages.
Using 'undefined' which is not a Ruby keyword.
2fill in blank
medium

Complete the code to check if the variable is nil.

Ruby
if value.[1]?
  puts "Value is nil"
end
Drag options to blanks, or click blank then click option'
Anil
Bempty
Cnull
Dnone
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'empty?' which checks if a collection has no elements.
Using 'null?' or 'none?' which do not exist in Ruby.
3fill in blank
hard

Fix the error in the code to assign nil correctly.

Ruby
result = [1]
Drag options to blanks, or click blank then click option'
ANull
BNil
Cnil
DNULL
Attempts:
3 left
💡 Hint
Common Mistakes
Using capitalized versions like 'Nil' or 'Null'.
Using uppercase 'NULL' which is not Ruby syntax.
4fill in blank
hard

Fill both blanks to create a hash with keys and nil values for missing data.

Ruby
person = { name: "Alice", age: [1], city: [2] }
Drag options to blanks, or click blank then click option'
Anil
B"unknown"
D"none"
Attempts:
3 left
💡 Hint
Common Mistakes
Using strings like 'unknown' or 'none' instead of nil.
Mixing string and nil values inconsistently.
5fill in blank
hard

Fill all three blanks to return a default value if the variable is nil.

Ruby
default = "Guest"
name = [1] || [2] if [3].nil?
Drag options to blanks, or click blank then click option'
Ainput_name
Bdefault
Duser
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names inconsistently.
Not checking for nil properly.

Practice

(1/5)
1. What does nil represent in Ruby?
easy
A. A boolean false value
B. The number zero
C. The absence of any value
D. An empty string

Solution

  1. Step 1: Understand the meaning of nil

    In Ruby, nil is used to represent the absence of a value or nothingness.
  2. Step 2: Differentiate from other values

    Zero, empty string, and false are actual values, but nil means no value at all.
  3. Final Answer:

    The absence of any value -> Option C
  4. Quick Check:

    nil means no value [OK]
Hint: Remember: nil means nothing or no value [OK]
Common Mistakes:
  • Confusing nil with false
  • Thinking nil is zero
  • Assuming nil is an empty string
2. Which of the following is the correct way to check if a variable x is nil in Ruby?
easy
A. if x == null
B. if x.nil?
C. if x === nil
D. if x.isNil()

Solution

  1. Step 1: Recall Ruby's method to check nil

    Ruby uses the method .nil? to check if a value is nil.
  2. Step 2: Compare options

    if x.nil? uses x.nil? which is the correct Ruby syntax. Other options use incorrect syntax or methods not in Ruby.
  3. Final Answer:

    if x.nil? -> Option B
  4. Quick Check:

    Use .nil? to check nil [OK]
Hint: Use .nil? method to check nil in Ruby [OK]
Common Mistakes:
  • Using 'null' instead of 'nil'
  • Using triple equals (===) incorrectly
  • Using JavaScript style isNil() method
3. What will be the output of this Ruby code?
value = nil
if value.nil?
  puts "No value"
else
  puts "Has value"
end
medium
A. Error
B. Has value
C. nil
D. No value

Solution

  1. Step 1: Check the variable value

    The variable value is assigned nil, meaning no value.
  2. Step 2: Evaluate the if condition

    The condition value.nil? returns true because value is nil, so it prints "No value".
  3. Final Answer:

    No value -> Option D
  4. Quick Check:

    value.nil? true prints "No value" [OK]
Hint: If variable.nil? is true, it means no value [OK]
Common Mistakes:
  • Assuming nil prints as 'nil'
  • Confusing nil with false
  • Expecting an error from nil check
4. Find the error in this Ruby code snippet:
def check_value(val)
  if val == nil?
    "Value is nil"
  else
    "Value exists"
  end
end

puts check_value(nil)
medium
A. Should use 'val.nil?' without '=='
B. Missing 'end' for the method
C. Using '==' with nil? method is incorrect
D. Cannot compare with nil in Ruby

Solution

  1. Step 1: Identify the incorrect comparison

    The code uses val == nil?, which is invalid because nil? is a method and cannot be used like this.
  2. Step 2: Correct the nil check syntax

    The proper way is to call val.nil? without using == to check if val is nil.
  3. Final Answer:

    Should use 'val.nil?' without '==' -> Option A
  4. Quick Check:

    Use val.nil? method directly, no '==' [OK]
Hint: Call .nil? directly, don't compare with == [OK]
Common Mistakes:
  • Using '==' with .nil? method
  • Confusing method call syntax
  • Thinking nil is a keyword to compare with
5. Given a list of values [1, nil, 3, nil, 5], which Ruby code correctly counts how many elements are nil?
hard
A. All of the above
B. [1, nil, 3, nil, 5].select(&:nil?).length
C. [1, nil, 3, nil, 5].count(nil)
D. [1, nil, 3, nil, 5].filter { |v| v.nil? }.size

Solution

  1. Step 1: Understand ways to count nil elements

    Ruby arrays have multiple ways to count elements matching a condition: .count(nil), .select(&:nil?).length, and .filter { |v| v.nil? }.size all work.
  2. Step 2: Verify each option

    [1, nil, 3, nil, 5].count(nil) counts elements equal to nil directly. Options B and D select elements where v.nil? is true and count them. All produce the same result.
  3. Final Answer:

    All of the above -> Option A
  4. Quick Check:

    Multiple Ruby methods count nil elements correctly [OK]
Hint: Use count(nil) or select/filter with .nil? to count nils [OK]
Common Mistakes:
  • Using count without argument
  • Confusing length and size methods
  • Forgetting & before :nil? in select
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