Ввод с помощью gets
Часть раздела Основы путешествия по Ruby на Coddy — урок 29 из 88.
До сих пор вы узнали, как выводить данные. Теперь давайте научимся получать ввод от пользователя. Метод gets считывает строку текста, которую вводит пользователь.
name = gets
puts "Hello, #{name}"Когда Ruby встречает gets, он ожидает, пока пользователь что-нибудь введет и нажмет Enter. Все, что он введет, сохраняется в переменной. Если пользователь введет "Alice", вывод будет следующим:
Hello, Alice
Здесь важно заметить одну деталь. Когда пользователь нажимает Enter, этот символ новой строки включается в ввод.
Вот почему «Alice» отображается с лишней пустой строкой после неё. Переменная на самом деле содержит "Alice\n", где \n представляет собой символ новой строки.
Вы можете использовать p, чтобы ясно это увидеть:
name = gets
p nameЕсли пользователь введет "Ruby", результат будет следующим:
"Ruby\n"Этот завершающий символ новой строки может вызвать неожиданное поведение в ваших программах. В следующем уроке вы узнаете, как его удалить.
Задание
ЛегкоПрочитайте имя пользователя с помощью gets и сохраните его в переменной с именем name.
Затем используйте p для вывода переменной name, что позволит отобразить необработанную строку, включая завершающий символ новой строки.
Например, если на вход подается Ruby, ваш вывод должен отображать строку с кавычками и видимым символом \n.
Шпаргалка
Метод gets считывает ввод пользователя из консоли:
name = gets
puts "Hello, #{name}"Когда gets выполняется, программа ожидает, пока пользователь что-нибудь введет и нажмет Enter. Ввод сохраняется в переменной.
Метод gets включает символ новой строки (\n), когда пользователь нажимает Enter:
name = gets
p name
# Если пользователь вводит "Ruby", выводит: "Ruby\n"Используйте p для отображения сырого представления строки, которое явно показывает символ новой строки.
Попробуйте сами
# TODO: Прочитать имя пользователя с помощью gets и сохранить его в переменной с именем name
# TODO: Использовать p для вывода переменной nameВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь