Método Include?
Parte da seção Fundamentos do Journey de Ruby da Coddy. Lição 72 de 88.
Ao trabalhar com arrays, muitas vezes você precisa verificar se um elemento específico existe antes de realizar uma ação. O método include? do Ruby responde diretamente a essa pergunta, retornando true ou false.
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Exibe: true
puts fruits.include?("grape") # Exibe: falseO método verifica se há uma correspondência exata, então diferencia maiúsculas de minúsculas em strings:
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # Exibe: true
puts colors.include?("red") # Exibe: falseEste método é particularmente útil em instruções condicionais. Em vez de percorrer um array para encontrar um elemento, você pode simplesmente perguntar se ele está lá:
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endO método include? funciona com qualquer tipo de dado armazenado no array, incluindo números, símbolos e até mesmo outros arrays.
Desafio
FácilLeia duas linhas de entrada:
- Uma lista de itens disponíveis em uma loja, como strings separadas por vírgulas (por exemplo,
apple,banana,orange,milk,bread) - Uma lista de itens da sua lista de compras, como strings separadas por vírgulas (por exemplo,
banana,eggs,milk,cheese)
Para cada item da sua lista de compras, verifique se ele está disponível na loja usando o método include?. Imprima cada item seguido de Available ou Not available, dependendo de ele existir ou não no estoque da loja.
Lembre-se de que include? verifica correspondências exatas, então a comparação diferencia maiúsculas de minúsculas.
Por exemplo, se as entradas forem apple,banana,orange,milk,bread e banana,eggs,milk,cheese, a saída deverá ser:
banana - Available
eggs - Not available
milk - Available
cheese - Not availableSe as entradas forem Red,Green,Blue e red,Green,Yellow, a saída deverá ser:
red - Not available
Green - Available
Yellow - Not availableSe as entradas forem coffee,tea,juice e coffee,water,tea, a saída deverá ser:
coffee - Available
water - Not available
tea - AvailableSe as entradas forem pen,pencil,eraser e pen, a saída deverá ser:
pen - AvailableExperimente você mesmo
# Leia o estoque da loja (itens separados por vírgulas)
store_items = gets.chomp.split(",")
# Leia a lista de compras (itens separados por vírgulas)
shopping_list = gets.chomp.split(",")
# TODO: Escreva seu código abaixo
# Para cada item da lista de compras, verifique se ele está disponível na loja
# usando o método include? e imprima o resultadoEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operadores Lógicos Parte 47Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoO Método FizzBuzz13Arrays Avançados
Fatiamento de Arrays com IntervalosFatiamento de Arrays com ÍndicesOperadores de ArrayMétodo Include?2Variáveis e Tipos de Dados
Números e VariáveisTipo de Dado StringTipo de Dado BooleanTipo de Dado SymbolVerificando Tipos de DadosConvenções de NomenclaturaRecapitulação - Criação de Variáveis5Tomada de Decisão
Instrução IfIf - ElseRecapitulação - Calculadora SimplesIf - Else AninhadoInstrução Unless8Laços de Repetição
Loop For com IntervalosLoop WhileBreakNextRecapitulação - FatorialLoop TimesLoop UntilLoops AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com putsSaída com print e pSaída com VariáveisEntrada com getsMétodo chompConversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Métodos
Definindo um MétodoParâmetros de MétodoValores de RetornoRecapitulação - Método SigmaRecapitulação - Método de ValidaçãoValores de Parâmetro Padrão15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Compilador de Ruby online