Чтение онлайн

ЖАНРЫ

Первые 20 часов. Как быстро научиться… чему угодно
Шрифт:

Я скачал загрузочный пакет, запустил его и получил подтверждение, что все установлено правильно. Теперь попробую еще раз ввести команду:

$ git clone git://github.com/sstephenson/ruby-build.git

Ответом мне стали следующие строки:

Cloning into ruby-build…

remote: Counting objects: 1004, done.

remote: Compressing objects: 100 % (453/453), done.

remote: Total 1004 (delta 490), reused 937 (delta 431)

Receiving objects: 100 % (1004/1004), 108.77 KiB, done.

Resolving deltas: 100 % (490/490), done.

Успех! «Done» (готово) —

это хороший признак. Кроме того, сообщения об ошибке не было. Идем дальше.

Я продолжаю вводить остальные команды. Судя по информации в инструкции по загрузке, я загружаю необходимые файлы и при помощи команды echo добавляю фрагменты текста в файлы конфигурации, а затем перезапускаю программу под названием SHELL, чтобы сохранить изменения. После перезагрузки SHELL программы rbenv и rubybuild установлены на моем компьютере. Ура!

Теперь пора установить последнюю версию Ruby:

$ rbenv install 1.9.3-p125

Программа автоматически загружает исходный код Ruby и делает сборку, выводя впечатляющее количество информации в окне программы Terminal. (Теперь я чувствую себя как настоящий голливудский программист.) [19]

$ rbenv rehash

Судя по документации, эта команда помогает компьютеру распознать, что установлена новая версия Ruby.

$ rbenv global 1.9.3-p125

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

$ ruby — v

Вот что я получаю в ответ:

ruby 1.9.3p125 (2012–02–16 revision 34643) [x8664-darwin11.3.0]

Ура! Именно такое сообщение и должен вывести на экран компьютер.

В руководстве сказано, что если я захочу установить новую версию Ruby на этот компьютер, то должен снова запустить выполнение команд rbenv install, rbenv rehash и rbenv global. Достаточно просто.

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

Полезно помнить, что никто не знает этих тонкостей с рождения. В большинстве случаев нужно потратить несколько минут на чтение документации, а затем попробовать ввести то, что там написано [20].

Установка библиотек Ruby (Gems)

Теперь, когда на компьютере есть последняя версия Ruby, настало время выяснить, как установить нужные мне библиотеки, в том числе Sinatra.

Библиотеки языка Ruby называются gems, и, как оказалось, установить их очень легко. Вот команда, которая устанавливает библиотеку Sinatra:

$ gem install sinatra

Для обновления Sinatra до последней версии нужно ввести следующую команду:

$ gem update sinatra

Что может быть проще?

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

обеспечение тоже нуждается в обновлении.

Потратив немного времени, я нахожу команду для обновления gem для Ruby.

$ gem update — system

Довольно просто.

Запуская команду gem install, я замечаю, что она устанавливает и другие библиотеки, такие как rack, rack-protection и tilt. Эти дополнительные библиотеки называются средствами поддержки зависимостей. Они нужны для работы Sinatra и поэтому автоматически загружаются по команде gem install.

Книги

Теперь, будучи готовым приступить к программированию приложений на языке Ruby, я решил обратиться к двум справочникам по Ruby, которые чаще всего рекомендуют на Stack Overflow: «Программирование на языке Ruby» («The Well-Grounded Rubyist») (2009) Дэвида А. Блэка и «Красноречивый Ruby» («Eloquent Ruby») (2011) Расса Олсена. Обе книги представляют собой вводные пособия, предназначенные для того, чтобы познакомить читателя с основными концепциями и приемами Ruby, а также справочники.

Я также купил книгу «Sinatra: к работе готов» («Sinatra: Up and Running») (2011) Алана Харриса и Константина Хассе. Эта книга представляет собой вводный курс в среду программирования Sinatra. Подробная документация на Sinatra имеется в Сети, но книга содержит множество примеров, которые поясняют, как использовать Sinatra для решения стандартных задач.

Просматривая эти книги, я нашел несколько ссылок на сайты, которые могут служить справочниками по синтаксису Ruby.

The Official Beginner’s Guide to Ruby [21].

The Ruby Refresher [22].

Ruby Security Reviewer’s Guide [23].

Для начала этого справочного материала вполне достаточно, и я выделил полтора часа для быстрого просмотра всего, что у меня есть.

Я брал каждую книгу, изучал содержание и указатель, отмечая термины и понятия, которые казались мне важными. Я также выделял концепции, упоминаемые многократно, и обращал внимание на порядок их появления. Я читал заголовки и врезки. Закончив с книгами, я проделал то же самое с сайтами.

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

Объекты — это существительные мира программирования; с ними мы можем что-то делать. Допустим, я хочу создать в Ruby новую переменную под названием firstname (имя) и хочу, чтобы она содержала мое имя. В Ruby эта команда имеет вид:

firstname = "Josh"

Довольно просто. Помещая имя Josh в кавычки, я указываю Ruby, что имя — это строка, то есть последовательность букв и цифр. Это делает firstname объектом класса «строка». (Класс — это особый тип объектов с определенными характеристиками.)

Строки не единственный класс объектов. Вот пример класса целых чисел:

million = 1000000

Если объекты — это существительные языка программирования, то методы являются аналогом глаголов: то, что мы можем делать с объектами.

Поделиться с друзьями: