Menu
Coddy logo textTech

Изменение массивов

Часть раздела Основы путешествия по Ruby на Coddy — урок 60 из 88.

Теперь, когда вы знаете, как обращаться к элементам массива, давайте узнаем, как их изменять. Вы можете изменить любой элемент, присвоив новое значение по его индексу:

fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits  # Выводит: apple, mango, cherry

Чтобы добавить элементы в массив, используйте метод push или оператор «лопата» <<. Оба способа добавляют элементы в конец:

colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors  # Выводит: red, blue, green, yellow

Для удаления элементов Ruby предоставляет несколько вариантов. Метод pop удаляет и возвращает последний элемент, в то время как shift удаляет первый:

numbers = [1, 2, 3, 4]
numbers.pop    # Удаляет 4
numbers.shift  # Удаляет 1
puts numbers   # Выводит: 2, 3

Вы также можете удалить конкретное значение с помощью delete:

letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters  # Выводит: a, c

Обратите внимание, что delete удаляет все вхождения указанного значения из массива.

challenge icon

Задание

Легко

Вам предоставлен следующий массив:

tasks = ["email", "meeting", "lunch", "report", "call"]

Считайте три входных значения:

  1. Индекс (целое число) — позиция для изменения
  2. Новое значение (строка) — значение для замены в этой позиции
  3. Значение для удаления (строка) — элемент, который нужно удалить из массива

Выполните следующие операции по порядку:

  1. Замените элемент по заданному индексу новым значением
  2. Добавьте "review" в конец массива, используя push
  3. Добавьте "planning" в конец массива, используя оператор shovel <<
  4. Удалите последний элемент, используя pop
  5. Удалите первый элемент, используя shift
  6. Удалите все вхождения указанного значения, используя delete

Выведите финальный массив, используя puts.

Например, если входные данные — 2, break и call, результат должен быть:

meeting
break
report
review

Если входные данные — 0, standup и report, результат должен быть:

meeting
lunch
call
review

Если входные данные — 4, demo и lunch, результат должен быть:

meeting
report
demo
review

Шпаргалка

Чтобы изменить элемент массива, присвойте новое значение по его индексу:

fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits  # Выводит: apple, mango, cherry

Чтобы добавить элементы в конец массива, используйте push или оператор «лопата» (shovel operator) <<:

colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors  # Выводит: red, blue, green, yellow

Чтобы удалить элементы из массива:

  • pop удаляет и возвращает последний элемент
  • shift удаляет и возвращает первый элемент
  • delete удаляет все вхождения определенного значения
numbers = [1, 2, 3, 4]
numbers.pop    # Удаляет 4
numbers.shift  # Удаляет 1
puts numbers   # Выводит: 2, 3

letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters  # Выводит: a, c

Попробуйте сами

# Исходный массив
tasks = ["email", "meeting", "lunch", "report", "call"]

# Чтение входных данных
index = gets.chomp.to_i
new_value = gets.chomp
value_to_delete = gets.chomp

# TODO: Напишите свой код ниже
# 1. Замените элемент по заданному индексу новым значением
# 2. Добавьте "review" в конец, используя push
# 3. Добавьте "planning" в конец, используя оператор <<
# 4. Удалите последний элемент, используя pop
# 5. Удалите первый элемент, используя shift
# 6. Удалите все вхождения указанного значения, используя delete

# Вывод итогового массива
puts tasks
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы