Bird
Raised Fist0
Rubyprogramming~20 mins

Why arrays are fundamental in Ruby - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ruby Array Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Ruby array code?

Consider the following Ruby code that manipulates arrays. What will it print?

Ruby
arr = [1, 2, 3, 4]
arr << 5
arr.pop
puts arr.length
A3
B5
C6
D4
Attempts:
2 left
💡 Hint

Remember that << adds an element and pop removes the last element.

🧠 Conceptual
intermediate
1:30remaining
Why are arrays important in Ruby?

Which of the following best explains why arrays are fundamental in Ruby?

AThey are immutable and cannot be changed after creation.
BThey are used only for mathematical calculations.
CThey allow storing multiple values in an ordered list accessible by index.
DThey replace all other data types in Ruby.
Attempts:
2 left
💡 Hint

Think about how you keep a list of things in order.

🔧 Debug
advanced
2:00remaining
What error does this Ruby array code raise?

Look at this Ruby code snippet. What error will it raise when run?

Ruby
arr = [10, 20, 30]
puts arr[5].to_s.length
ANo error, prints 0
BNoMethodError
CIndexError
DTypeError
Attempts:
2 left
💡 Hint

What does Ruby return when you access an array index that does not exist?

❓ Predict Output
advanced
2:30remaining
What is the output of this Ruby array transformation?

What will this Ruby code print?

Ruby
arr = [1, 2, 3, 4]
new_arr = arr.map { |x| x * 2 if x.even? }
puts new_arr.compact.sum
A12
B20
C10
D14
Attempts:
2 left
💡 Hint

Remember that map keeps the same size and compact removes nil values.

🚀 Application
expert
3:00remaining
How many items are in the resulting array after this Ruby code?

Given this Ruby code, how many items does result contain?

Ruby
arr = [1, 2, 3, 4, 5]
result = arr.select.with_index { |val, idx| val > idx }
A3
B5
C2
D4
Attempts:
2 left
💡 Hint

Check each element: is the value greater than its index?

Practice

(1/5)
1. Why are arrays considered fundamental in Ruby programming?
easy
A. Because they are used to write text files
B. Because they store multiple items in an ordered list
C. Because they cannot be changed once created
D. Because they only store numbers

Solution

  1. Step 1: Understand what arrays do

    Arrays hold many items together in a specific order, making it easy to manage groups of data.
  2. Step 2: Compare options with array features

    Only Because they store multiple items in an ordered list correctly describes arrays as ordered collections of multiple items.
  3. Final Answer:

    Because they store multiple items in an ordered list -> Option B
  4. Quick Check:

    Arrays = ordered collections [OK]
Hint: Arrays hold many items in order, like a list [OK]
Common Mistakes:
  • Thinking arrays only hold numbers
  • Believing arrays are immutable
  • Confusing arrays with file operations
2. Which of the following is the correct way to create an array in Ruby?
easy
A. array = [1, 2, 3]
B. array = (1, 2, 3)
C. array = {1, 2, 3}
D. array = <1, 2, 3>

Solution

  1. Step 1: Recall Ruby array syntax

    Arrays in Ruby are created using square brackets [] with items separated by commas.
  2. Step 2: Check each option's syntax

    Only array = [1, 2, 3] uses square brackets correctly; others use parentheses, braces, or angle brackets which are invalid for arrays.
  3. Final Answer:

    array = [1, 2, 3] -> Option A
  4. Quick Check:

    Arrays use [] brackets [OK]
Hint: Use square brackets [] to create arrays [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Confusing arrays with hashes (curly braces)
  • Using angle brackets which are invalid
3. What is the output of this Ruby code?
arr = [10, 20, 30]
puts arr[1]
medium
A. 20
B. 10
C. 30
D. nil

Solution

  1. Step 1: Understand array indexing in Ruby

    Ruby arrays start at index 0, so arr[0] is 10, arr[1] is 20, arr[2] is 30.
  2. Step 2: Identify the value at index 1

    The code prints arr[1], which is 20.
  3. Final Answer:

    20 -> Option A
  4. Quick Check:

    arr[1] = 20 [OK]
Hint: Remember Ruby arrays start at index 0 [OK]
Common Mistakes:
  • Thinking array index starts at 1
  • Confusing values at different indexes
  • Expecting nil for valid index
4. Identify the error in this Ruby code that tries to add an item to an array:
numbers = [1, 2, 3]
numbers.add(4)
medium
A. The syntax for array creation is wrong
B. The array is immutable and cannot be changed
C. The method 'add' does not exist for arrays
D. The number 4 must be inside quotes

Solution

  1. Step 1: Check the method used to add items to arrays

    Ruby arrays use 'push' or '<<' to add items, not 'add'.
  2. Step 2: Identify the error cause

    Calling 'add' on an array causes a NoMethodError because it is not a valid method.
  3. Final Answer:

    The method 'add' does not exist for arrays -> Option C
  4. Quick Check:

    Use 'push' or '<<' to add items [OK]
Hint: Use 'push' or '<<' to add items to arrays [OK]
Common Mistakes:
  • Using 'add' instead of 'push' or '<<'
  • Thinking arrays cannot be changed
  • Adding numbers as strings unnecessarily
5. Given an array arr = [1, 2, 3, 4, 5], which Ruby code correctly creates a new array with only even numbers?
hard
A. new_arr = arr.map { |num| num * 2 }
B. new_arr = arr.push(2, 4)
C. new_arr = arr.delete_if { |num| num.even? }
D. new_arr = arr.select { |num| num % 2 == 0 }

Solution

  1. Step 1: Understand the goal

    We want a new array containing only even numbers from the original array.
  2. Step 2: Analyze each option

    new_arr = arr.select { |num| num % 2 == 0 } uses 'select' to filter even numbers correctly. new_arr = arr.map { |num| num * 2 } doubles all numbers, not filtering. new_arr = arr.delete_if { |num| num.even? } deletes even numbers, opposite of goal. new_arr = arr.push(2, 4) adds 2 and 4 to original array, not filtering.
  3. Final Answer:

    new_arr = arr.select { |num| num % 2 == 0 } -> Option D
  4. Quick Check:

    Use 'select' to filter arrays [OK]
Hint: Use 'select' to pick items matching a condition [OK]
Common Mistakes:
  • Using 'map' instead of 'select' for filtering
  • Deleting instead of selecting items
  • Adding items instead of filtering
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