Menu
Coddy logo textTech

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

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

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

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

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

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. Добавьте "<code>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

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

# Начальный массив
tasks = ["email", "meeting", "lunch", "report", "call"]

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

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

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

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор Ruby