Menu
Coddy logo textTech

Метод chomp

Часть раздела Основы путешествия по Ruby на Coddy — урок 30 из 88.

В предыдущем уроке вы видели, что gets включает символ новой строки, когда пользователь нажимает Enter. Метод chomp удаляет этот завершающий символ новой строки из строки.

name = gets.chomp
puts "Hello, #{name}!"

Если пользователь введет "Alice", вывод теперь чистый:

Hello, Alice!

Без chomp перед восклицательным знаком появится нежелательная пустая строка. Вы можете вызвать chomp сразу после gets по цепочке, как показано выше, что является наиболее распространенным шаблоном, который вы встретите в программах на Ruby.

Давайте проверим разницу с помощью p:

with_newline = gets
without_newline = gets.chomp

p with_newline      # "Ruby\n"
p without_newline   # "Ruby"

Метод chomp удаляет только символ новой строки в конце. Он не влияет на любые другие символы в строке. С этого момента вы обычно будете использовать gets.chomp всякий раз, когда считываете ввод пользователя.

challenge icon

Задание

Легко

Прочитайте название города от пользователя с помощью gets.chomp и сохраните его в переменную с именем city.

Затем используйте интерполяцию строк с puts, чтобы вывести приветственное сообщение в следующем формате:

Welcome to [city]!

Например, если на входе Tokyo, вывод должен быть:

Welcome to Tokyo!

Восклицательный знак должен стоять сразу после названия города без лишних пробелов или пустых строк.

Шпаргалка

Метод chomp удаляет завершающий символ новой строки из строки. Это важно при чтении пользовательского ввода с помощью gets, который включает символ новой строки, когда пользователь нажимает Enter.

Вызывайте chomp сразу после gets по цепочке:

name = gets.chomp
puts "Hello, #{name}!"

Сравнение с использованием chomp и без него:

with_newline = gets        # "Ruby\n"
without_newline = gets.chomp   # "Ruby"

Метод chomp удаляет только символ новой строки в конце и не влияет на другие символы в строке.

Попробуйте сами

# Чтение названия города от пользователя
city = gets.chomp

# TODO: Напишите свой код ниже, чтобы вывести приветственное сообщение, используя интерполяцию строк
quiz iconПроверьте себя

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

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