Операторы массивов
Часть раздела Основы путешествия по Ruby на Coddy — урок 71 из 88.
Ruby предоставляет специальные операторы, которые позволяют объединять, сравнивать и манипулировать массивами эффективными способами. Эти операторы упрощают работу с несколькими массивами одновременно.
Оператор + объединяет два массива в один новый:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # Выводит: 1, 2, 3, 4, 5, 6Оператор - удаляет из первого массива элементы, которые присутствуют во втором:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # Выводит: 1, 3, 5Оператор & возвращает элементы, общие для обоих массивов (пересечение):
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # Выводит: 3, 4Оператор | объединяет массивы и удаляет дубликаты (объединение):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # Выводит: 1, 2, 3, 4, 5Все эти операторы создают новые массивы и оставляют исходные массивы без изменений.
Задание
ЛегкоПрочитайте две строки ввода, каждая из которых содержит целые числа, разделенные запятыми:
- Первый массив (например,
1,2,3,4,5) - Второй массив (например,
3,4,5,6,7)
Выполните следующие операции и выведите результаты, каждый в отдельной строке:
- Выведите каждый элемент конкатенации обоих массивов (используя
+) - Выведите
---в качестве разделителя - Выведите каждый элемент разности (первый массив минус второй, используя
-) - Выведите
---в качестве разделителя - Выведите каждый элемент пересечения (общие элементы, используя
&) - Выведите
---в качестве разделителя - Выведите каждый элемент объединения (объединенные элементы без дубликатов, используя
|)
Например, если входные данные 1,2,3,4,5 и 3,4,5,6,7, вывод должен быть следующим:
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7Если входные данные 10,20,30 и 30,40,50, вывод должен быть следующим:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50Если входные данные 5,10,15 и 1,2,3, вывод должен быть следующим:
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3Шпаргалка
Ruby предоставляет специальные операторы для объединения, сравнения и манипулирования массивами:
Оператор + объединяет два массива:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b # [1, 2, 3, 4, 5, 6]Оператор - удаляет из первого массива элементы, которые присутствуют во втором:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove # [1, 3, 5]Оператор & возвращает пересечение (общие элементы):
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b # [3, 4]Оператор | возвращает объединение (комбинация без дубликатов):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b # [1, 2, 3, 4, 5]Все эти операторы создают новые массивы и оставляют исходные массивы без изменений.
Попробуйте сами
# Чтение входных массивов
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# TODO: Напишите свой код ниже
# Выполните следующие операции:
# 1. Конкатенация с использованием +
# 2. Разность с использованием -
# 3. Пересечение с использованием &
# 4. Объединение с использованием |
# Выведите каждый результат, используя "---" в качестве разделителя между операциямиВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь