Изменение массивов
Часть раздела Основы путешествия по 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 удаляет все совпадения указанного значения из массива.
Задание
ЛегкоВам предоставлен следующий массив:
tasks = ["email", "meeting", "lunch", "report", "call"]Прочитайте три входных значения:
- Индекс (целое число) — позиция для изменения
- Новое значение (строка) — значение для замены на этой позиции
- Значение для удаления (строка) — элемент, который нужно удалить из массива
Выполните следующие операции по порядку:
- Замените элемент по указанному индексу новым значением
- Добавьте
"<code>review" в конец массива с помощьюpush - Добавьте
"planning"в конец массива с помощью shovel-оператора<< - Удалите последний элемент с помощью
pop - Удалите первый элемент с помощью
shift - Удалите все вхождения указанного значения с помощью
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В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложьПотренируйтесь самостоятельно: Онлайн-компилятор Ruby