Bird
Raised Fist0
Rubyprogramming~5 mins

Accessing elements (indexing, first, last) in Ruby

Choose your learning style10 modes available
Introduction

We use indexing to get specific items from a list or string. It helps us find the first, last, or any element easily.

You want to get the first name from a list of names.
You need the last character of a word.
You want to find the third item in a shopping list.
You want to check the first or last element in an array quickly.
Syntax
Ruby
array[index]
array.first
array.last
string[index]
string[0]  # first character
string[-1] # last character

Indexing starts at 0, so the first element is at index 0.

Negative indexes count from the end: -1 is last, -2 is second last, and so on.

Examples
Get the first and last fruits from the array.
Ruby
fruits = ["apple", "banana", "cherry"]
puts fruits[0]    # apple
puts fruits.first # apple
puts fruits.last  # cherry
Access the first and last characters of a string.
Ruby
word = "hello"
puts word[0]    # h
puts word[-1]   # o
Get the third element (index 2) from the numbers array.
Ruby
numbers = [10, 20, 30, 40]
puts numbers[2]  # 30
Sample Program

This program shows how to get the first, last, and specific elements from arrays and strings.

Ruby
colors = ["red", "green", "blue", "yellow"]

puts "First color: #{colors.first}"
puts "Last color: #{colors.last}"
puts "Second color: #{colors[1]}"

word = "ruby"
puts "First letter: #{word[0]}"
puts "Last letter: #{word[-1]}"
OutputSuccess
Important Notes

Remember, arrays and strings both use zero-based indexing.

Using negative indexes is a quick way to get elements from the end.

If you try to access an index that does not exist, Ruby returns nil without error.

Summary

Use [index] to get any element by position.

.first and .last give the first and last elements easily.

Negative indexes count from the end, making it easy to get last elements.

Practice

(1/5)
1. Which method or syntax in Ruby returns the first element of an array arr?
easy
A. arr.last
B. arr[1]
C. arr[-1]
D. arr.first

Solution

  1. Step 1: Understand the purpose of .first

    The .first method returns the first element of an array in Ruby.
  2. Step 2: Compare with other options

    arr[1] returns the second element (indexing starts at 0), arr.last and arr[-1] return the last element.
  3. Final Answer:

    arr.first -> Option D
  4. Quick Check:

    First element = arr.first [OK]
Hint: Use .first to get the first element easily [OK]
Common Mistakes:
  • Using arr[1] instead of arr[0] for first element
  • Confusing .last with .first
  • Using negative index for first element
2. Which of the following is the correct syntax to get the last element of an array arr in Ruby?
easy
A. arr.first
B. arr[0]
C. arr[-1]
D. arr[1]

Solution

  1. Step 1: Understand negative indexing in Ruby arrays

    Negative indexes count from the end, so arr[-1] returns the last element.
  2. Step 2: Check other options

    arr[0] is the first element, arr.first also returns first, and arr[1] is second element.
  3. Final Answer:

    arr[-1] -> Option C
  4. Quick Check:

    Last element = arr[-1] [OK]
Hint: Use negative index -1 to get last element [OK]
Common Mistakes:
  • Using arr[1] thinking it's last element
  • Using arr.first instead of arr.last
  • Using arr[-0] which is invalid
3. What is the output of the following Ruby code?
arr = [10, 20, 30, 40, 50]
puts arr[2]
puts arr.first
puts arr[-2]
medium
A. 40 10 30
B. 30 10 40
C. 30 50 40
D. 20 10 50

Solution

  1. Step 1: Evaluate arr[2]

    Index 2 is the third element, which is 30.
  2. Step 2: Evaluate arr.first and arr[-2]

    arr.first is 10 (first element), arr[-2] is second last element, 40.
  3. Final Answer:

    30 10 40 -> Option B
  4. Quick Check:

    Index 2 = 30, first = 10, second last = 40 [OK]
Hint: Remember index starts at 0; negative counts from end [OK]
Common Mistakes:
  • Confusing index 2 with index 3
  • Mixing up first and last elements
  • Misunderstanding negative indexes
4. The following Ruby code throws an error. What is the problem?
arr = [5, 10, 15]
puts arr.first()
puts arr[-4]
medium
A. Negative index -4 is out of range and returns nil, no error
B. Missing argument in first() causes error
C. Array is empty, so first() fails
D. Syntax error in calling first()

Solution

  1. Step 1: Check arr.first() usage

    first() can be called with or without parentheses; no error here.
  2. Step 2: Analyze arr[-4]

    Array has 3 elements, so index -4 is out of range and returns nil, which prints as empty line, no error.
  3. Final Answer:

    Negative index -4 is out of range and returns nil, no error -> Option A
  4. Quick Check:

    Out of range negative index returns nil [OK]
Hint: Out of range negative index returns nil, no error [OK]
Common Mistakes:
  • Assuming out of range index causes error
  • Thinking first() needs arguments
  • Confusing nil with error
5. Given the array arr = ["a", "b", "c", "d", "e"], which Ruby expression returns a new array with only the first and last elements?
hard
A. [arr.first, arr.last]
B. arr[0, 1] + arr[-1]
C. arr[0] + arr[-1]
D. arr.first + arr.last

Solution

  1. Step 1: Understand the goal

    We want a new array containing only the first and last elements.
  2. Step 2: Evaluate each option

    [arr.first, arr.last] creates an array with arr.first and arr.last. arr[0, 1] + arr[-1] tries to add an array and a string (wrong). arr[0] + arr[-1] adds two strings, resulting in concatenation, not array. arr.first + arr.last adds two strings, also concatenation.
  3. Final Answer:

    [arr.first, arr.last] -> Option A
  4. Quick Check:

    Array with first and last elements = [arr.first, arr.last] [OK]
Hint: Use array brackets to combine first and last elements [OK]
Common Mistakes:
  • Adding strings instead of creating an array
  • Using + with array and string causing error
  • Forgetting to wrap elements in array brackets
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