Menu
CoddyTech

Метод include?

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

При работе с массивами часто нужно проверить, существует ли определённый элемент, прежде чем выполнять действие. Метод include? в Ruby напрямую отвечает на этот вопрос, возвращая 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? работает с данными любого типа, хранящимися в массиве, включая числа, символы и даже другие массивы.

challenge icon

Задание

Легко

Прочитайте две строки ввода:

  1. Список товаров, имеющихся в магазине, в виде строк, разделённых запятыми (например, apple,banana,orange,milk,bread)
  2. Список товаров из вашего списка покупок в виде строк, разделённых запятыми (например, 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

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

# Считайте список товаров в магазине (элементы разделены запятыми)
store_items = gets.chomp.split(",")

# Считайте список покупок (элементы разделены запятыми)
shopping_list = gets.chomp.split(",")

# TODO: Напишите свой код ниже
# Для каждого товара из списка покупок проверьте, есть ли он в магазине
# с помощью метода include? и выведите результат
quiz iconПроверьте себя

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

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

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