📖 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
Step 1: Understand what arrays do
Arrays hold many items together in a specific order, making it easy to manage groups of data.
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.
Final Answer:
Because they store multiple items in an ordered list -> Option B
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
Step 1: Recall Ruby array syntax
Arrays in Ruby are created using square brackets [] with items separated by commas.
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.
Final Answer:
array = [1, 2, 3] -> Option A
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
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.
Step 2: Identify the value at index 1
The code prints arr[1], which is 20.
Final Answer:
20 -> Option A
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
Step 1: Check the method used to add items to arrays
Ruby arrays use 'push' or '<<' to add items, not 'add'.
Step 2: Identify the error cause
Calling 'add' on an array causes a NoMethodError because it is not a valid method.
Final Answer:
The method 'add' does not exist for arrays -> Option C
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
Step 1: Understand the goal
We want a new array containing only even numbers from the original array.
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.
Final Answer:
new_arr = arr.select { |num| num % 2 == 0 } -> Option D
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 unknownstrongwhile earning +1 Grip toward your certificate.