Поиск по сайту:

Как написать свою первую программу на Ruby


Введение

Программа «Привет, мир!» это классическая и проверенная временем традиция компьютерного программирования.Это небольшая и полная первая программа для начинающих, и это хороший способ убедиться, что ваша среда правильно настроена.

Этот учебник проведет вас через создание этой программы на Ruby. Однако, чтобы сделать программу более интересной, вы модифицируете традиционную программу «Hello, World» так, чтобы она запрашивала у пользователя его имя. Затем вы будете использовать это имя в приветствии. учебник, у вас будет программа, которая выглядит так, когда вы ее запускаете:

Output
Please enter your name. Sammy Hello, Sammy! I'm Ruby!

Предпосылки

На вашем компьютере должна быть установлена локальная среда разработки Ruby. Настройте его, следуя одному из этих руководств:

  • Как установить Ruby и настроить локальную среду программирования в macOS
  • Как установить Ruby и настроить локальную среду программирования в Ubuntu 16.04
  • Как установить Ruby и настроить локальную среду программирования в Windows 10

Шаг 1 — Написание основного «Hello, World!» Программа

Чтобы написать «Привет, мир!» откройте текстовый редактор командной строки, такой как nano, и создайте новый файл:

  1. nano hello.rb

Как только текстовый файл откроется в окне терминала, введите свою программу:

puts "Hello, World!"

Давайте разберем различные компоненты кода.

puts – это метод в Ruby, который сообщает компьютеру, что нужно вывести текст на экран.

Затем за методом puts следует последовательность символов — Hello, World!, заключенная в кавычки. Любые символы, заключенные в кавычки, называются строкой. Метод puts выводит эту строку на экран при запуске программы.

Некоторые методы, такие как метод puts, включены в Ruby по умолчанию. Эти встроенные методы всегда доступны при создании программ на Ruby. Вы также можете определить свои собственные методы.

Сохраните и выйдите из nano, нажав клавиши CONTROL и X, а когда будет предложено сохранить файл, нажмите y и нажмите ENTER.

Давайте попробуем вашу программу.

Шаг 2 — Запуск программы Ruby

С вашим «Привет, мир!» программа написана, вы готовы запустить программу. Вы будете использовать команду ruby, за которой следует имя только что созданного файла.

  1. ruby hello.rb

Программа выполнит и отобразит этот вывод:

Output
Hello, World!

Давайте разберемся, что же произошло на самом деле.

Выполнение команды ruby запускает интерпретатор Ruby. Интерпретатор Ruby прочитал указанный вами файл и оценил его содержимое. Он выполнил строку puts Hello, World!, вызвав функцию puts. В функцию было передано строковое значение Hello, World!.

В этом примере строка Hello, World! также называется аргументом, поскольку это значение, которое передается методу.

Кавычки по обе стороны от Hello, World! не выводились на экран, потому что они используются, чтобы сообщить Ruby, что они содержат строку. Кавычки указывают, где начинается и заканчивается строка.

Программа работает, но можно сделать ее более интерактивной. Давайте посмотрим, как это сделать.

Шаг 3 — Запрос на ввод

Каждый раз, когда вы запускаете свою программу, она выдает один и тот же результат. Давайте подскажем человеку, запускающему вашу программу, его имя. Затем вы можете использовать это имя в выводе.

Вместо изменения существующей программы создайте новую программу с именем greeting.rb в редакторе nano:

  1. nano greeting.rb

Во-первых, добавьте эту строку, которая предлагает пользователю ввести свое имя:

puts "Please enter your name."

И снова вы используете метод puts для вывода текста на экран.

Теперь добавьте эту строку для захвата пользовательского ввода:

puts "Please enter your name."
name = gets

Следующая строка немного сложнее. Давайте сломаем это.

Метод gets указывает компьютеру ожидать ввода с клавиатуры. Это приостанавливает работу программы, позволяя пользователю ввести любой текст, который он хочет. Программа продолжит работу, когда пользователь нажмет клавишу ENTER на своей клавиатуре. Все нажатия клавиш, включая нажатие клавиши ENTER, затем перехватываются и преобразуются в строку символов.

Вы хотите использовать эти символы в выводе вашей программы, поэтому вы сохраняете эти символы, назначая строку переменной с именем name. Ruby хранит эту строку в памяти вашего компьютера до тех пор, пока программа не завершится.

Наконец, добавьте эту строку для печати вывода:

puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"

Вы снова используете метод puts, но на этот раз вы используете функцию Ruby, называемую интерполяцией строк, которая позволяет вам взять значение, присвоенное переменной, и поместить его внутрь строки. . Вместо слова name вы получите значение, сохраненное вами в переменной name, которое должно быть именем пользователя.

Сохраните и выйдите из nano, нажав CTRL+X, и нажмите y, когда будет предложено сохранить файл, затем нажмите ENTER.

Теперь запустите программу с помощью этой команды:

  1. ruby greeting.rb

Вам будет предложено ввести свое имя, поэтому введите его и нажмите ENTER. Вывод может быть не совсем таким, как вы ожидаете:

Output
Please enter your name. Sammy Hi, Sammy ! I'm Ruby!

Вместо Привет, Сэмми! Im Ruby!, сразу после имени есть разрыв строки.

Программа зафиксировала все ваши нажатия клавиш, включая клавишу ENTER, которую вы нажали, чтобы продолжить работу программы. В строке нажатие клавиши ENTER создает специальный символ, который создает новую строку. Вывод программы делает именно то, что вы ей сказали; он отображает введенный вами текст, включая эту новую строку. Это просто не то, что вы хотели. Но вы можете это исправить.

Откройте файл greeting.rb в своем редакторе:

  1. nano greeting.rb

Найдите эту строку в своей программе:

name = gets

И измените его, чтобы он выглядел так:

name = gets.chop

При этом используется метод Ruby chop для строки, которую мы захватили с помощью gets. Метод chop удаляет самый последний символ из строки. В этом случае он удаляет символ новой строки в конце строки, созданной при нажатии ENTER.

Сохраните и выйдите из nano. Нажмите CTRL+X, затем нажмите y, когда будет предложено сохранить файл.

Запустите программу еще раз:

  1. ruby greeting.rb

На этот раз после того, как вы введете свое имя и нажмете ENTER, вы получите ожидаемый результат:

Output
Please enter your name. Sammy Hi, Sammy! I'm Ruby!

Теперь у вас есть программа на Ruby, которая принимает данные от пользователя и выводит их на экран.

Заключение

Теперь, когда вы знаете, как запрашивать ввод, обрабатывать результаты и отображать вывод, попробуйте еще больше расширить свою программу. Например, запросите любимый цвет пользователя, и пусть программа скажет, что его любимый цвет — красный. Вы можете даже попытаться использовать эту же технику для создания простой программы Mad-Lib.