Bird
Raised Fist0
Rubyprogramming~10 mins

Accessing elements (indexing, first, last) in Ruby - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Accessing elements (indexing, first, last)
Start with Array
↓
Choose index or method
↓
Indexing: array[index
↓
Return element at index
↓
First element: array.first
↓
Return first element
↓
Last element: array.last
↓
Return last element
Start with an array, then access elements by index, or use .first or .last methods to get the first or last element.
Execution Sample
Ruby
arr = [10, 20, 30, 40]
puts arr[1]
puts arr.first
puts arr.last
This code prints the second element, then the first, then the last element of the array.
Execution Table
StepExpressionEvaluationResultOutput
1arr = [10, 20, 30, 40]Assign array to arr[10, 20, 30, 40]
2arr[1]Access element at index 12020
3arr.firstGet first element1010
4arr.lastGet last element4040
5EndNo more expressions
💡 All expressions evaluated, program ends.
Variable Tracker
VariableStartAfter Step 1After Step 5
arrundefined[10, 20, 30, 40][10, 20, 30, 40]
Key Moments - 2 Insights
Why does arr[1] return 20 and not 10?
In Ruby, array indexing starts at 0, so arr[0] is 10, arr[1] is 20 as shown in step 2 of the execution_table.
What happens if I use arr.first on an empty array?
arr.first returns nil if the array is empty, because there is no first element. In Ruby, indexing out of range also returns nil.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the output of arr[1] at step 2?
A20
B10
C30
D40
💡 Hint
Check the 'Result' and 'Output' columns in row for step 2.
At which step do we get the last element of the array?
AStep 2
BStep 3
CStep 4
DStep 5
💡 Hint
Look for the expression using arr.last in the execution_table.
If we change arr to [5, 15, 25], what would arr.first return?
A15
B5
C25
Dnil
💡 Hint
Refer to variable_tracker and remember arr.first returns the first element.
Concept Snapshot
Access elements in Ruby arrays using indexing or methods:
- array[index]: zero-based index access
- array.first: returns first element
- array.last: returns last element
Indexing out of range returns nil
.first and .last are safe for empty arrays
Full Transcript
This lesson shows how to get elements from a Ruby array. You can use array[index] where index starts at 0. For example, arr[1] gets the second element. You can also use arr.first to get the first element and arr.last to get the last element. These methods return nil if the array is empty, which is safe. The example code creates an array with four numbers and prints the second, first, and last elements. The execution table shows each step and the output. Remember, indexing starts at zero, so arr[0] is the first element. This helps you pick any element you want from an array easily.

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