Главная » Ruby » Язык ruby
ruby

20.07.2015 by Devjournal

Язык ruby

Этот пост для ознакомления людей с чудесным языком программирования Ruby. В статье будут охвачены базовые основы программирования на Ruby и создание маленького веб-приложения.

Что такое язык Ruby?

Ruby — это простой, но мощный, объектно-ориентированный язык программирования. Он был создан в середине девяностых японским программистом Юкихиро ‘Matz’ Мацумото(Yukihiro ‘Matz’ Matsumoto) с целью сделать программирование более приятным и продуктивным. Ruby довольно популярен в Японии, но так же имеет большое количество последователей и на западе. После того как David Heinemeier Hansson создал веб-фреймворк Ruby on Rails в 2005, популярность Ruby взлетела в одночасье.

Одним из ключевых принципов Ruby является то, что все является объектом. Объект в программировании имеет свои свойства и действия. На данный момент это не значит много, но это к этому мы будем часто возвращаться при более подробном изучении языка Ruby.

Что мы будем делать?

В этой статье мы научимся устанавливать Ruby на наш компьютер и рассмотрим базовые вещи для написания программ. Мы посмотрим как можно использовать ‘Interactive Ruby’ консоль, чтобы получить мгновенный результат и как сохранять нашу программу в файл и затем запустить её. Мы так же увидим как наша Ruby программа превращается в веб приложение и запустим его в браузере. Надеюсь, что статья поможет осветить то, за что так много людей любят мощный и гибкий язык программирования Ruby.

Работа в консоли

Чувствую, что должен упомянуть сейчас, что мир Ruby часто использует командны в «терминале» для установки чего-либо или запуска программ. Это может быть сложно на первый взгляд, но по настоящему здесь не о чем беспокоиться и это скоро станет совершенно естественным.

Если вы используете Linux, тогда я полагаю вы уже знакомы с командами в терминале. На Mac вам необходимо перейти в папку Applications и затем в папку Utilities. На Windows можете найти все в меню «Программы».

Все это предполагает, что вы вошли в командную строку и все команды в терминале будут отображаться через $ (знак доллара) в примерах когда, например:

$ this command should be entered in a command prompt

Установка Ruby

Тут можете почитать статьи об установке языка программирования Ruby на различные системы:

Установка ruby на windows

Установка ruby на Ubuntu

Установка ruby на Mac

Начало работы с интерактивным Ruby

Interactive Ruby или IRB для друзей, это путь вхождения в командную строку Ruby и вызов мгновенного результата. Это хороший способ для экспериментов с Ruby и проверки как работает кусок кода. Все что вам для этого нужно это набрать следующее в терминальное окно(Для Windows просто открыть приложение irb.exe):

$ irb

Далее вы увидите что-то похожее на:

2.0.0p247 :001 >

Настало время написать что-то на Ruby!

Это стало традицией когда обучаясь программированию мы начинаем с классического «Hello World!» программы. Мы так же не будем отступать от традиций и поприветствуем наше окружение, в котором мы будем тестировать. Напишите в нашем терминале irb следующее:

2.0.0p247 :001 > puts "Hello IRB!"

Вы увидите следующее:

Hello IRB!
 => nil

Поздравляем! Вы написали первый кусок Ruby кода!

Что же произошло? Так,

puts

это команда, которая означает «вывести строку». Строка в Ruby это объект, который задается между кавычками(двойными или ‘). Команда

puts

отображает строку, которая следует после неё.

=>nil

просто часть возвращаемого значения команды «puts». Все действия в Ruby возвращают значение, даже если кажется, что ничего не отображено. В этом случае возвращается «nil», которое тоже является объектом.

 

Потренируйтесь выведите еще пару строк используя «puts». Когда вам это надоест, просто напишите в  irb команду exit:

2.0.0p247 :001 > exit

Написание нашего первого Ruby файла

Сейчас, после того, как мы написали наш первый Ruby код в irb, время сохранить нашу работу в файл. Создадим папку куда будем сохранять нашу работу и назовем еще что-то похожее на ‘ruby’. Файлы Ruby сохраняются с расширением .rb. Для начала создадим пустой текстовый файл и назовем его ‘hello_world.rb’. Далее напишем кода внутри нашего файла и сохраним его:

puts "Hello Ruby!"

Очень похоже на то, что мы писали в консоли irb — все потому что они идентичны, вот почему irb так хорошо подходит для тестирования кода. Одна разница лишь, что irb выполняет код сразу как вы нажали enter. Для запуска программ нам нужно использовать команду «ruby» в нашем терминале.

Откроем нашу командную строку и перейдем в место, куда сохранили файл. Обычно мы можем это сделать используя команду ‘cd’ в терминале. В моей системе папка названа ‘ruby’ поэтому я напишу:

$ cd ruby 

Это результат в символе $ нашего префикса пути, например:

bu@desktop:~/ruby$

Перейдя в нашу директорию, мы можем запустить нашу программу просто набрав ‘rub’ и имя нашего файла, похожее на:

$ ruby hello_ruby.rb

Это должно вывести в консоли:

Hello Ruby!

Основная разница между запуском файла и запуском кода Ruby в IRB в том, что в файле разрешается ввести сразу несколько команд и они исполнятся, когда программа будет запущена, например:

puts "Hello Ruby!"
puts "Hello DAZ!"
puts "Hello SitePoint!"

Если вы сохраните это и напишите в консоли ‘ruby hello_ruby.rb’ в командной строке, то вы увидите следующее:

 Hello Ruby! Hello DAZ! Hello SitePoint! 

Молодцы — мы только что написали и запустили нашу первую Ruby программу! Наша следующая задача запустить нашу программу в веб браузере, но сперва мы должны научиться как установить и использовать Ruby гемы.

Ruby gems

Ruby Gems — это библиотека кода, которая поможет открыть все возможности языка Ruby добавляя экстра функционал. Обычно они написаны на Ruby(иногда пишутся на C(Си) для ускорения работы). Буквально тысячи Ruby гемов могут помочь в расширении функционала наших программ.

На сцену выходит Sinatra

Sinatra — Это Ruby гем, который дает возможность для работы с HTTP для нашей Ruby программы. Это означает, что мы можем взять наши Ruby программы и сделать из них веб приложение с относительно маленьким участком кода.

Первое, что мы должны сделать — установить гем sinatra:

$ gem install sinatra

(Подсказка: «gem» команда являющаяся частью Ruby)
Мы должный создать новый файл в нашей папке ‘ruby’ и назовем его ‘hello_sinatra.rb’. В этом файле напишем код:

require 'sinatra'

get '/hello' do
  "Hello Siantra!"
end

Первая строка require ‘sinatra’ используется для загрузки кода из гема Sinatra, добавляющего дополнительный функционал нашей программе.
Следующая часть, которую мы должны знать — обработчик маршрутов и пример того, что в Ruby называется «блоком». ‘get’ означает HTTP глагол, который используется для получения веб страницы. После этого идет строка ‘/hello’. Это маршрут, который будет использован для доступа к нашей части кода по адресу в строке браузера. Далее идет часть кода, которую мы хотим запустить. На не нужно использовать ‘puts’ сейчас, так как Sinatra автоматически выведет строку, если последняя строка кода есть в нашем обработчике маршрута.

Этот файл так же еще одна Ruby программа, так что мы можем запустить его как и раньше:

$ ruby hello_sinatra.rb

Вы должны увидеть следующее сообщение в консоли:

[2013-08-07 17:35:33] INFO  WEBrick 1.3.1
[2013-08-07 17:35:33] INFO  ruby 2.0.0 (2013-06-27) [i686-linux]
== Sinatra/1.4.2 has taken the stage on 4567 for development with backup from WEBrick
[2013-08-07 17:35:33] INFO  WEBrick::HTTPServer#start: pid=2988 port=4567

Оно говорит нам, что Sinatra запустилась как веб сервер, которое означает, что наше приложение доступно в браузере. Чтобы увидеть результат нашей программы достаточно перейти по ссылке http://localhost:4567/hello в любом браузере и вы увидите что то похожее на :

Sinatra ruby gem

Sinatra ruby gem

Чтобы немного объяснить URl, который мы ввели в браузере — localhost  это домен, который использует веб сервер, запущенный на вашем локальном компьютере и порт 4567 это порт, используемый Sinatra для отображения приложения.

Ресурсы для изучения Ruby(ссылка)

Все мы люди!

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

Я надеюсь этот пост был полезен для вас, пожалуйста, оставьте отзыв или задайте вопрос внизу статьи.

#gem#Ruby#Sinatra#Обучение

Comments

  1. Oleg
    04.07.2016 - 10:44

    Спасибо, полезная статья!

  2. Oleg
    27.04.2017 - 14:17

    Здравствуйте!
    Мне нравится Ruby и хотел бы развиваться в нем. На данный момент имею самые начальные навыки в нем, может, даже меньше. Сделал на RoR пробный сайт по образцу, на самом Ruby может, смогу калькулятор сделать. Хотелось бы подтянуть навыки до возможности что-то зарабатывать на этом языке, хоть самые копейки и развиваться дальше. У меня примерно следующий уровень: могу поправить и сделать несложный сайт на HTML, CSS, джумле и вордпресс. Вопрос: на Ваш взгляд, можно ли переключиться полностью на Ruby с тем, чтобы относительно быстро начать что-то зарабатывать, или фрилансить образно говоря, джумлой и прочим, и параллельно изучать Ruby? Хороший ли вариант будет создать сайт, и наполнять его тем, что изучил в Ruby, писать на него, как для себя? Можете ли Вы быть ментором по Ruby?

Добавить комментарий

Your email address will not be published / Required fields are marked *