Método Include?
Parte da seção Fundamentos do Journey de Ruby da Coddy. Lição 72 de 88.
Ao trabalhar com arrays, você frequentemente precisa verificar se um elemento específico existe antes de realizar uma ação. O método include? do Ruby responde a essa pergunta diretamente, retornando true ou false.
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Saída: true
puts fruits.include?("grape") # Saída: falseO método verifica uma correspondência exata, por isso diferencia maiúsculas de minúsculas com strings:
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # Saída: true
puts colors.include?("red") # Saída: falseEste método é particularmente útil em declaraçõ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 (ex:
apple,banana,orange,milk,bread) - Uma lista de itens na sua lista de compras, como strings separadas por vírgulas (ex:
banana,eggs,milk,cheese)
Para cada item na sua lista de compras, verifique se ele está disponível na loja usando o método include?. Imprima cada item seguido por Available ou Not available com base na existência ou não do item no inventário da loja.
Lembre-se que o include? verifica correspondências exatas, portanto, a comparação diferencia maiúsculas de minúsculas (case-sensitive).
Por exemplo, se as entradas forem apple,banana,orange,milk,bread e banana,eggs,milk,cheese, a saída deve ser:
banana - Available
eggs - Not available
milk - Available
cheese - Not availableSe as entradas forem Red,Green,Blue e red,Green,Yellow, a saída deve ser:
red - Not available
Green - Available
Yellow - Not availableSe as entradas forem coffee,tea,juice e coffee,water,tea, a saída deve ser:
coffee - Available
water - Not available
tea - AvailableSe as entradas forem pen,pencil,eraser e pen, a saída deve ser:
pen - AvailableExperimente você mesmo
# Lê o inventário da loja (itens separados por vírgula)
store_items = gets.chomp.split(",")
# Lê a lista de compras (itens separados por vírgula)
shopping_list = gets.chomp.split(",")
# TODO: Escreva seu código abaixo
# Para cada item na 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