Método chomp
Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 30 de 88.
Na lição anterior, você viu que o gets inclui o caractere de nova linha quando o usuário pressiona Enter. O método chomp remove essa nova linha final de uma string.
name = gets.chomp
puts "Hello, #{name}!"Se o usuário digitar "Alice", a saída agora está limpa:
Hello, Alice!Sem o chomp, haveria uma linha em branco indesejada antes do ponto de exclamação. Você pode encadear o chomp diretamente no gets como mostrado acima, que é o padrão mais comum que você verá em programas Ruby.
Vamos verificar a diferença usando p:
with_newline = gets
without_newline = gets.chomp
p with_newline # "Ruby\n"
p without_newline # "Ruby"O método chomp remove apenas a quebra de linha no final. Ele não afeta nenhum outro caractere na string. De agora em diante, você geralmente vai querer usar gets.chomp sempre que ler a entrada do usuário.
Desafio
FácilLeia o nome de uma cidade do usuário usando gets.chomp e armazene-o em uma variável chamada city.
Em seguida, use interpolação de strings com puts para exibir uma mensagem de boas-vindas no seguinte formato:
Welcome to [city]!Por exemplo, se a entrada for Tokyo, a saída deve ser:
Welcome to Tokyo!O ponto de exclamação deve aparecer diretamente após o nome da cidade, sem espaços extras ou linhas em branco.
Folha de consulta
O método chomp remove o caractere de nova linha ao final de uma string. Isso é essencial ao ler a entrada do usuário com gets, que inclui a nova linha quando o usuário pressiona Enter.
Encadeie o chomp diretamente no gets:
name = gets.chomp
puts "Hello, #{name}!"Comparando com e sem chomp:
with_newline = gets # "Ruby\n"
without_newline = gets.chomp # "Ruby"O método chomp remove apenas a nova linha no final e não afeta outros caracteres na string.
Experimente você mesmo
# Lê o nome da cidade do usuário
city = gets.chomp
# TODO: Escreva seu código abaixo para imprimir a mensagem de boas-vindas usando interpolação de stringsEsta 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 FizzBuzz2Variá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