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 - AvailableFolha de consulta
O método include? verifica se um elemento específico existe em um array, retornando true ou false:
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Saída: true
puts fruits.include?("grape") # Saída: falseO método realiza uma correspondência exata e 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: falseUse include? em declarações condicionais para verificar a presença de um elemento:
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, incluindo números, símbolos e arrays.
Experimente 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 Programa