Bird
Raised Fist0
Rubyprogramming~5 mins

Why arrays are fundamental in Ruby

Choose your learning style10 modes available
Introduction

Arrays help you keep many items together in one place. They make it easy to store, find, and use groups of things in Ruby.

When you want to keep a list of your favorite movies.
When you need to store scores of players in a game.
When you want to remember shopping items to buy.
When you want to loop through a set of names to greet each person.
When you want to sort or search through a collection of data.
Syntax
Ruby
class Array
  # You create an array with square brackets []
  # Example: my_array = [1, 2, 3]

  # You can add items with push or <<
  # Example: my_array.push(4)
  # Or: my_array << 5

  # You get items by index starting at 0
  # Example: my_array[0] # returns first item
end

Arrays in Ruby can hold any type of item: numbers, words, or even other arrays.

Indexes start at 0, so the first item is at position 0.

Examples
This creates an empty array with no items.
Ruby
empty_array = []
puts empty_array.inspect
An array with one item. Accessing index 0 gives that item.
Ruby
single_item_array = [42]
puts single_item_array[0]
Access the last item 'cherry' using index 2.
Ruby
fruits = ["apple", "banana", "cherry"]
puts fruits[2]
Add items to an empty array using << and push methods.
Ruby
numbers = []
numbers << 10
numbers.push(20)
puts numbers.inspect
Sample Program

This program shows how to create an array, add items, access an item by index, and loop through all items.

Ruby
puts "Create an empty array for colors:"
colors = []
puts colors.inspect

puts "Add colors to the array:"
colors << "red"
colors.push("green")
colors << "blue"
puts colors.inspect

puts "Access the first color:"
puts colors[0]

puts "Loop through all colors:"
colors.each do |color|
  puts "Color: #{color}"
end
OutputSuccess
Important Notes

Arrays are fast to access by index (O(1) time).

Adding items at the end is usually fast (amortized O(1)).

Common mistake: forgetting that indexes start at 0, so the first item is at index 0, not 1.

Use arrays when you need ordered collections and quick access by position.

Summary

Arrays store many items together in order.

You can add, access, and loop through items easily.

They are a basic and powerful tool in Ruby programming.

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