Метод 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 всякий раз, когда считываете ввод пользователя.
Задание
ЛегкоПрочитайте название города от пользователя с помощью 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: Напишите свой код ниже, чтобы вывести приветственное сообщение, используя интерполяцию строкВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь