Методы массивов
Часть раздела Основы путешествия по Ruby на Coddy — урок 61 из 88.
Ruby предоставляет несколько встроенных методов, которые упрощают работу с массивами. Эти методы помогают сортировать, переворачивать и находить элементы без необходимости писать сложный код самостоятельно.
Метод sort сортирует элементы в порядке возрастания:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Выводит: 1, 1, 3, 4, 5Чтобы изменить порядок элементов на обратный, используйте метод reverse:
letters = ["a", "b", "c"]
puts letters.reverse # Вывод: c, b, aВы можете комбинировать эти методы для сортировки в порядке убывания:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Вывод: 95, 92, 85, 78Методы min и max быстро находят наименьшее и наибольшее значения:
prices = [29, 15, 42, 8]
puts prices.min # Выводит: 8
puts prices.max # Выводит: 42Чтобы вычислить сумму числовых элементов, используйте sum:
quantities = [2, 5, 3]
puts quantities.sum # Выводит: 10Обратите внимание, что sort и reverse возвращают новые массивы, не изменяя исходный. Чтобы изменить исходный массив напрямую, добавьте ! к имени метода, например sort! или reverse!.
Задание
ЛегкоПрочитайте одну строку входных данных, содержащую целые числа, разделенные запятыми (например, 5,2,8,1,9,3).
Разделите входные данные на массив целых чисел, а затем выведите следующее на отдельных строках:
- Массив, отсортированный по возрастанию (каждый элемент на отдельной строке)
- Массив, отсортированный по убыванию (каждый элемент на отдельной строке)
- Минимальное значение
- Максимальное значение
- Сумма всех элементов
Для наглядности выводите пустую строку между каждым разделом.
Например, если входные данные 5,2,8,1,9,3, вывод должен быть следующим:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28Если входные данные 10,30,20, вывод должен быть следующим:
10
20
30
30
20
10
10
30
60Если входные данные 7,3,5,1, вывод должен быть следующим:
1
3
5
7
7
5
3
1
1
7
16Шпаргалка
Ruby предоставляет встроенные методы для работы с массивами:
Метод sort упорядочивает элементы по возрастанию:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Выводит: 1, 1, 3, 4, 5Метод reverse меняет порядок элементов на обратный:
letters = ["a", "b", "c"]
puts letters.reverse # Выводит: c, b, aКомбинируйте методы для сортировки в порядке убывания:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Выводит: 95, 92, 85, 78Методы min и max находят наименьшее и наибольшее значения:
prices = [29, 15, 42, 8]
puts prices.min # Выводит: 8
puts prices.max # Выводит: 42Метод sum вычисляет сумму числовых элементов:
quantities = [2, 5, 3]
puts quantities.sum # Выводит: 10Примечание: sort и reverse возвращают новые массивы, не изменяя исходный. Чтобы изменить исходный массив, используйте sort! или reverse!.
Попробуйте сами
# Прочитать целые числа, разделенные запятыми
input = gets.chomp
# TODO: Напишите свой код ниже
# 1. Разделить входные данные на массив целых чисел
# 2. Отсортировать массив по возрастанию и вывести каждый элемент
# 3. Вывести пустую строку
# 4. Отсортировать массив по убыванию и вывести каждый элемент
# 5. Вывести пустую строку
# 6. Вывести минимальное значение
# 7. Вывести максимальное значение
# 8. Вывести сумму всех элементовВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь