Метод include?
Часть раздела Основы путешествия по Ruby на Coddy — урок 72 из 88.
При работе с массивами часто возникает необходимость проверить, существует ли определенный элемент, прежде чем выполнять какое-либо действие. Метод Ruby include? отвечает на этот вопрос напрямую, возвращая true или false.
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Выводит: true
puts fruits.include?("grape") # Выводит: falseМетод проверяет на точное совпадение, поэтому он чувствителен к регистру при работе со строками:
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # Выводит: true
puts colors.include?("red") # Выводит: falseЭтот метод особенно полезен в условных операторах. Вместо того чтобы перебирать массив в поисках элемента, вы можете просто спросить, есть ли он там:
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endМетод include? работает с любым типом данных, хранящимся в массиве, включая числа, символы и даже другие массивы.
Задание
ЛегкоПрочитайте две строки входных данных:
- Список доступных товаров в магазине в виде строк, разделенных запятыми (например,
apple,banana,orange,milk,bread) - Список товаров в вашем списке покупок в виде строк, разделенных запятыми (например,
banana,eggs,milk,cheese)
Для каждого товара из вашего списка покупок проверьте, доступен ли он в магазине, используя метод include?. Выведите каждый товар, а затем Available или Not available в зависимости от того, есть ли он в инвентаре магазина.
Помните, что include? проверяет точное совпадение, поэтому сравнение чувствительно к регистру.
Например, если входные данные — apple,banana,orange,milk,bread и banana,eggs,milk,cheese, вывод должен быть следующим:
banana - Available
eggs - Not available
milk - Available
cheese - Not availableЕсли входные данные — Red,Green,Blue и red,Green,Yellow, вывод должен быть следующим:
red - Not available
Green - Available
Yellow - Not availableЕсли входные данные — coffee,tea,juice и coffee,water,tea, вывод должен быть следующим:
coffee - Available
water - Not available
tea - AvailableЕсли входные данные — pen,pencil,eraser и pen, вывод должен быть следующим:
pen - AvailableШпаргалка
Метод include? проверяет, существует ли определенный элемент в массиве, возвращая true или false:
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Выводит: true
puts fruits.include?("grape") # Выводит: falseМетод выполняет точное совпадение и чувствителен к регистру в строках:
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # Выводит: true
puts colors.include?("red") # Выводит: falseИспользуйте include? в условных операторах для проверки наличия элемента:
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endМетод include? работает с любым типом данных, включая числа, символы и массивы.
Попробуйте сами
# Прочитать инвентарь магазина (элементы, разделенные запятыми)
store_items = gets.chomp.split(",")
# Прочитать список покупок (элементы, разделенные запятыми)
shopping_list = gets.chomp.split(",")
# TODO: Напишите свой код ниже
# Для каждого элемента в списке покупок проверьте, доступен ли он в магазине
# используя метод include? и выведите результатВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь