Программа «Hello, World!» является классической и проходит через время в компьютерном программировании.
Это простая и полная первая программа для начинающих, и это хороший способ чтобы убедиться что среда правильно настроена.
Эта статья покажет вам как создать программу в Ruby. Однако, чтобы сделать программу более интересной, мы изменим традиционную программу «Hello, World» так, чтобы она запрашивала у пользователя их имя. Затем мы используем имя в приветствии. Когда вы закончите с статьей, вы будете иметь программу, которая выглядит следующим образом, когда вы запустите ее:
Пожалуйста, введите ваше имя. AndreyEx Привет, AndreyEx! I'm Ruby!
Вы должны иметь локальную среду разработки на Ruby установленной на вашем компьютере. Как установить Ruby и Rails на Ubuntu 16.04.
Для того, чтобы написать программу «Hello, World!», Давайте откроем текстовый редактор командной строки такую как nano и создадим новый файл:
nano hello.rb
После того, как текстовый файл откроется в окне терминала, мы введем нашу программу:
puts "Hello, World!"
Давайте разберем различные компоненты кода.
puts является метод Ruby, который говорит компьютеру чтобы напечатать текст на экране.
За методом puts следуют последовательности символов — Hello, World!, заключено в кавычки. Любые символы которые находятся внутри кавычек, называются строкой. Метод puts печатает эти строки на экран при запуске программы.
Некоторые методы, такие как метод puts, включены в Ruby по умолчанию. Эти встроенные методы всегда доступны при создании программ на Ruby. Вы также можете определить свои собственные методы.
Сохраните и выйдите из nano, нажав клавиши CONTROL + X, и когда будет предложено сохранить файл, нажмите кнопку Y.
Давайте попробуем запустить нашу программу.
Наша программа «Hello, World!» готова к запуску. Мы будем использовать команду ruby, за которой следует имя файла который мы только что создали.
ruby hello.rb
Программа будет выполнять и отображать этот вывод:
Hello, World!
Давайте рассмотрим, что на самом деле произошло.
При Запуске командыruby, Ruby запустил интерпретатор. Интерпретатор Ruby прочитал указанный файл, и вывел его содержание. Он выполнил линию puts «Hello, World!»по вызову функции puts. Значение строки Hello, World! было передано функции.
В этом примере строка Hello, World! также называется аргументом поскольку это значение, которое передается к способу.
Ковычки, которые были по обе стороны Hello, World! не были выведены на экран потому что они используются, чтобы сказать Ruby что они содержат строку. Кавычки указывают, где строка начинается и где заканчивается.
Программа работает, но мы можем сделать ее более интерактивной. Давайте рассмотрим, как.
Каждый раз, когда мы запускаем нашу программу, она производит такой же вывод. Давайте предложим запускать нашу программу от их имени. После этого мы можем использовать это имя на выходе.
Вместо того чтобы модифицировать существующую программу, создадим новую программу под названием greeting.rb в редакторе nano:
nano greeting.rb
Во-первых, добавьте эту строку, которая предлагает пользователю ввести свое имя:
puts "Пожалуйста, введите ваше имя."
Еще раз, мы используем метод puts чтобы напечатать текст на экране.
Теперь добавьте эту строку, чтобы захватить ввод данных пользователем:
puts "Пожалуйста, введите ваше имя." name = gets
Это следующая строка немного сложнее. Давайте разберем ее.
Метод gets сообщает компьютеру ждать ввода с клавиатуры. Он останавливает программу, позволяя пользователю ввести любой текст который они хотят. Программа продолжиться когда пользователь нажимает клавишу ENTER на клавиатуре. После нажатия клавиш, включая клавишу ENTER, программа захватит и преобразует в строку символов.
Мы хотим использовать эти символы в выходе нашей программы, поэтому мы сохраним эти символы, назначая строку к переменной называемая name. Ruby сохранит эту строку в памяти компьютера пока программа не завершится.
Наконец, добавьте эту строку, чтобы напечатать вывод:
puts "Пожалуйста, введите ваше имя." name = gets puts "Hi, #{name}! I'm Ruby!"
Мы используем метод puts снова, но на этот раз мы используем функцию Ruby вызываемую строку интерполяции которая позволяет нам принимать значение присвоенное переменной и поместить ее внутри строки. Вместо слова name, мы получим значение которое мы сохранили в переменной name, которая должна быть именем пользователя.
Сохраните и выйдите с nano нажатием CTRL+X и нажмите y когда будет предложено сохранить файл.
Теперь запустите программу. Вам будет предложено ввести свое имя, поэтому введите ее и нажмите ENTER. Выходной сигнал может ,не то что вы ожидаете:
Пожалуйста, введите ваше имя. AndreyEx Hi, AndreyEx ! I'm Ruby!
Вместо Hi, AndreyEx! I’m Ruby!, есть правильный разрыв строки после имени.
Программа захватила все наши нажатия клавиш, включая клавишу ENTER которые мы ввели чтобы сообщить программе для продолжения. В строке, после нажатие клавиши ENTER создает специальный символ который создает новую строку. Вывод программы делает именно то что мы хотели сделать; он показывает текст который мы ввели, в том числе и эту новую линию. Это просто не то что мы хотели. Но мы можем это исправить.
Откройте файл greeting.rb в редакторе:
nano greeting.rb
Найдите эту строку в вашей программе:
name = gets
И изменить его так, чтобы это выглядело следующим образом:
name = gets.chop
При этом используется в Ruby метод chop на строке которую мы захватили с помощью gets. Метод chop удаляет самый последний символ из строки. В этом случае, он удаляет символ новой строки в конце строки созданной при нажатии ENTER.
Сохраните и выйдите из nano. Нажмите CTRL+X, а затем нажмите y когда будет предложено сохранить файл.
Запустите программу еще раз:
ruby greeting.rb
На этот раз, после того, как вы введете свое имя и нажмете кнопку ENTER, вы получите ожидаемый результат:
Пожалуйста, введите ваше имя. AndreyEx Hi, AndreyEx! I'm Ruby!
Теперь у вас есть программа на Ruby, которая принимает данные от пользователя и выводит их обратно на экран.
Теперь, когда вы знаете, как запрашивать ввод, обработка результатов и вывод на экране, попытайтесь расширить свою программу дальше. Например, попросите любимые цвета пользователя, и скажите программе, что его любимый цвет красный. Вы даже можете попробовать использовать эту же технику, чтобы создать простую программу Mad-Lib.