Menu
Coddy logo textTech

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

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

Шпаргалка

Метод 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? и выведите результат
quiz iconПроверьте себя

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

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