Читать «Учись программировать (на Ruby)» онлайн - страница 12
Крис Пайн
puts gets
Здесь есть эхо?
Здесь есть эхо?
Конечно же, что бы вы ни вводили с клавиатуры, будет просто выведено вам обратно. Выполните пример несколько раз и попробуйте вводить разные строки.
Теперь мы можем делать интерактивные программы! Например, эта, когда вы введёте своё имя, поприветствует вас:
puts 'Приветик, ну и как Вас зовут?'
name = gets
puts 'Вас зовут ' + name + '? Какое прекрасное имя!'
puts 'Рад познакомиться с Вами, ' + name + '. :)'
Ммм-да! Я только что выполнил её – я ввёл своё имя, и вот что получилось:
Приветик, ну и как Вас зовут?
[Chris]
Вас зовут Chris
? Какое прекрасное имя!
Рад познакомиться с Вами, Chris
. : )
Хммм… похоже, когда я ввел буквы «К», «р», «и», «с» и затем нажал на Enter, gets воспринял все буквы моего имени и символ Enter! К счастью, имеется метод как раз для подобных случаев: chomp. Он убирает все символы Enter, которые «болтаются» в конце вашей строки. Давайте снова проверим эту программу, но на сей раз призовём на помощь chomp:
puts 'Приветик, ну и как Вас зовут?' name = gets.chomp
puts 'Вас зовут ' + name + '? Какое прекрасное имя!' puts 'Рад познакомиться с Вами, ' + name + '. :)'
Приветик, ну и как Вас зовут?
Chris
Вас зовут Chris? Какое прекрасное имя!
Рад познакомиться с Вами, Chris. :)
Гораздо лучше! Обратите внимание, что поскольку name указывает на gets.chomp, нам не требуется писать name. chomp; значение name уже было chomp–нуто.
• Напишите программу, которая спрашивает у человека имя, затем отчество, затем фамилию. В результате она должна поприветствовать человека, называя его полным именем.
• Напишите программу, которая спрашивает у человека его любимое число. Пусть ваша программа прибавит единицу к этому числу, а затем предложит результат в качестве большего и лучшего любимого числа. (Однако будьте при этом тактичными.)
После того, как вы закончите эти две программы (и любые другие, которые вы пожелаете попробовать), давайте изучим ещё несколько методов (и узнаем о них ещё что-нибудь).
5. Ещё немного о методах
Пока что мы видели несколько различных методов: puts и gets и так далее (Быстрый тест:
И вот что они есть на самом деле: нечто, которое выполняет что-либо. Если объекты (такие как строки, целые и плавающие числа) являются существительными в языке Ruby, то методы подобны глаголам. И совсем также, как в английском [и в русском –