Bird
Raised Fist0
Rubyprogramming~15 mins

Why arrays are fundamental in Ruby - See It in Action

Choose your learning style10 modes available
Why arrays are fundamental in Ruby
📖 Scenario: Imagine you are organizing a small library of books. You want to keep track of the titles in the order they arrive. Arrays in Ruby help you do this easily.
🎯 Goal: You will create an array of book titles, add a new book, find how many books you have, and then print the list of books.
📋 What You'll Learn
Create an array called books with three exact book titles
Create a variable called new_book with a specific book title
Add the new_book to the books array
Create a variable called total_books that stores the number of books in the books array
Print the books array
💡 Why This Matters
🌍 Real World
Arrays are used everywhere to keep lists of things like books, songs, or tasks in order.
💼 Career
Understanding arrays is essential for any programming job because they help manage collections of data efficiently.
Progress0 / 4 steps
1
Create an array of book titles
Create an array called books with these exact titles: 'The Hobbit', '1984', and 'Pride and Prejudice'.
Ruby
Hint

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

2
Add a new book title
Create a variable called new_book and set it to the string 'To Kill a Mockingbird'.
Ruby
Hint

Use = to assign the string to the variable new_book.

3
Add the new book to the array
Add the new_book to the end of the books array using the push method.
Ruby
Hint

Use array.push(item) to add an item to the end of an array.

4
Count and print the books
Create a variable called total_books that stores the number of books in the books array using the length method. Then print the books array.
Ruby
Hint

Use array.length to get the number of items. Use puts to print the array.

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