Bird
Raised Fist0
Rubyprogramming~15 mins

Array modification (push, pop, shift, unshift) in Ruby - Mini Project: Build & Apply

Choose your learning style10 modes available
Array modification (push, pop, shift, unshift)
📖 Scenario: You are managing a simple to-do list app. You need to add and remove tasks from your list using basic array methods.
🎯 Goal: Build a Ruby program that modifies an array of tasks by adding and removing items using push, pop, shift, and unshift.
📋 What You'll Learn
Create an array called tasks with initial tasks
Add a new task to the end of the tasks array using push
Remove the last task from the tasks array using pop
Remove the first task from the tasks array using shift
Add a new task to the beginning of the tasks array using unshift
Print the final tasks array
💡 Why This Matters
🌍 Real World
Managing lists of tasks or items is common in apps like to-do lists, shopping lists, or event planners.
💼 Career
Understanding how to modify arrays is essential for many programming jobs, especially those involving data manipulation and user interfaces.
Progress0 / 4 steps
1
Create the initial tasks array
Create an array called tasks with these exact strings: 'wash dishes', 'do laundry', 'buy groceries'
Ruby
Hint

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

2
Add a new task to the end
Use push to add the string 'clean room' to the end of the tasks array
Ruby
Hint

Use tasks.push('clean room') to add the task at the end.

3
Remove the last task
Use pop to remove the last task from the tasks array
Ruby
Hint

Use tasks.pop to remove the last item from the array.

4
Remove the first task and add a new one at the start
Use shift to remove the first task from tasks, then use unshift to add the string 'pay bills' to the beginning of tasks. Finally, print the tasks array.
Ruby
Hint

Use tasks.shift to remove the first item and tasks.unshift('pay bills') to add a new item at the start. Use print(tasks) to show the final array.

Practice

(1/5)
1. Which Ruby array method adds an element to the end of the array?
easy
A. shift
B. pop
C. push
D. unshift

Solution

  1. Step 1: Understand the purpose of push

    The push method adds an element to the end of an array.
  2. Step 2: Compare with other methods

    pop removes the last element, shift removes the first, and unshift adds to the front.
  3. Final Answer:

    push -> Option C
  4. Quick Check:

    push adds to end [OK]
Hint: Remember: push = add end, unshift = add front [OK]
Common Mistakes:
  • Confusing push with pop
  • Mixing shift and unshift
  • Thinking pop adds elements
2. Which of the following is the correct syntax to remove the first element from an array arr in Ruby?
easy
A. arr.shift()
B. arr.pop()
C. arr.unshift()
D. arr.push()

Solution

  1. Step 1: Identify method to remove first element

    The shift method removes and returns the first element of an array.
  2. Step 2: Check syntax correctness

    Calling arr.shift() correctly removes the first element.
  3. Final Answer:

    arr.shift() -> Option A
  4. Quick Check:

    shift removes first element [OK]
Hint: shift removes first, pop removes last [OK]
Common Mistakes:
  • Using pop to remove first element
  • Calling unshift to remove elements
  • Forgetting parentheses
3. What will be the output of the following Ruby code?
arr = [1, 2, 3]
arr.push(4)
arr.shift
p arr
medium
A. [1, 2, 3]
B. [1, 2, 3, 4]
C. [4, 1, 2, 3]
D. [2, 3, 4]

Solution

  1. Step 1: Execute push(4) on array

    Adding 4 to the end changes array from [1, 2, 3] to [1, 2, 3, 4].
  2. Step 2: Execute shift to remove first element

    Removing first element (1) results in [2, 3, 4].
  3. Final Answer:

    [2, 3, 4] -> Option D
  4. Quick Check:

    push adds end, shift removes front = [2, 3, 4] [OK]
Hint: push adds end, shift removes front, watch order [OK]
Common Mistakes:
  • Ignoring shift effect
  • Thinking push adds front
  • Confusing pop with shift
4. The following Ruby code is intended to add 0 to the front of the array nums and then remove the last element. What is the error?
nums = [1, 2, 3]
nums.unshift(0)
nums.pop()
medium
A. No error; code works correctly
B. pop() should be called before unshift()
C. unshift() does not add elements to array
D. pop() removes the first element, not the last

Solution

  1. Step 1: Understand unshift(0) effect

    This adds 0 to the front, changing [1, 2, 3] to [0, 1, 2, 3].
  2. Step 2: Understand pop() effect

    This removes the last element (3), resulting in [0, 1, 2].
  3. Final Answer:

    No error; code works correctly -> Option A
  4. Quick Check:

    unshift adds front, pop removes last = correct [OK]
Hint: unshift adds front, pop removes last, order matters [OK]
Common Mistakes:
  • Thinking pop removes first element
  • Believing unshift does not add
  • Swapping order of operations unnecessarily
5. Given the array data = [10, 20, 30], which sequence of method calls will result in [5, 10, 20]?
hard
A. data.push(5).shift()
B. data.unshift(5).pop()
C. data.shift().unshift(5)
D. data.pop().unshift(5)

Solution

  1. Step 1: Apply unshift(5) to add 5 at front

    Array changes from [10, 20, 30] to [5, 10, 20, 30].
  2. Step 2: Apply pop() to remove last element

    Removing last element (30) results in [5, 10, 20].
  3. Final Answer:

    data.unshift(5).pop() -> Option B
  4. Quick Check:

    unshift adds front, pop removes last = [5, 10, 20] [OK]
Hint: Add front with unshift, then remove last with pop [OK]
Common Mistakes:
  • Using push instead of unshift
  • Removing first element instead of last
  • Chaining methods incorrectly
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