Быстрый курс Ruby [Александр Неткачев] (fb2) читать постранично
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- . . .
- последняя (4) »
Александр Неткачев БЫСТРЫЙ КУРС RUBY
«Конец моим страданиям и разочарованиям»Из песенки Вини-Пуха.
Введение
Название Ruby уже неоднократно попадалось мне на глаза на различных сайтах. К сожалению, я до сегодняшнего дня не находил времени исследовать Ruby. Почему к сожалению? Потому что это действительно замечательный язык и я это только сейчас узнал, что и стало поводом написать этот курс. Курс ориентирован на читателей, которые уже знают какой-либо язык программирования и понимают магию, с помощью которой из набора разрозненных операторов получается нечто действительно полезное. Поэтому курс сокращен до предела и организован в виде блоков "задача — решение". Блоки сгруппированы в тематические разделы.Особенности Ruby
Язык Ruby был задуман японским программистом Yukihiro Matsumoto в 1993 году как результат синтеза всех лучших черт языков программирования с целью максимально упростить создание программ. Результат синтеза в идеях языка изложен в документации по Ruby. Ниже представлены наиболее важные из них: ● Это интерпретируемый язык. В простейшем случае это означает, что стадия компиляции для него отсутствует. Это сокращает время, необходимое для создания программы. ● В Ruby переменная может хранить любой объект — можно сказать, что Ruby безтиповый язык, как PHP или Perl. ● Определять переменные не нужно. Для задания области видимости переменной используются приставки. Например $myVar — это глобальная переменная, а myVar — локальная. ● Garbage Collector освобождает от управления памятью. Объекты, на которыре не существует ссылок, автоматически выгружаются из памяти. ● Примитивные типы отсутствуют — любое значение является объектом. ● Поддержка основных концепций ООП. ● Чрезвычайно гибкая система итераторов. ● Части кода представлены как объекты ● Поддержка регулярных выражений и сходные с Perl методы работы с ними. ● В Ruby нет разделения на Integer, Long, Byte. Для целочисленных типов есть только один тип, в рамках которого можно проводить вычисления с произвольным количеством разрядов. ● Механизмы перехвата исключений (как в Java). Другие особенности, которые мне особо понравились: ● Поддержка потоков ● Все операторы возвращают значения, в том числе управляющие структуры (if, case) ● return в конце функции не обязателен, возвращается значение последнего оператора. Например: ● def myFunction(a, b) ● a + b ● end ● puts myFunction(1, 2) напечатает 3. ● Условия and и or возвращают элемент, эквивалентный true или первый элемент Например: ● puts 5 or 10 > 5 ● puts 10 or nil > 10 ● puts nil or 7 > 7 ● puts nil and 10 > nil Внимание программистам на C и производных: пустая строка и ноль не расцениваются как false. false — это только nil (null).Установка Ruby
Gentoo Linux
Если у вас Gentoo Linux, то Ruby уже, скорее всего, будет установлен. Если же нет, то это досадное недоразумение исправляется очень легко. $ emerge ruby Далее можно переходить к установке дополнительных модулей или к первым программам на Ruby.Установка дополнительных пакетов
Для Ruby есть большое количество различных библиотек и расширений. Доступные в Gentoo Linux можно посмотреть с помощью $ emerge -s ruby Кстати, если вы регулярно обновляете Portage, то, возможно, mod_ruby можно уже установить через "emerge mod_ruby". В моей версии его статус еще Masked. mod_ruby modruby.net — сайт Apache модуля mod_ruby. Установка крайне проста: $ tar -xzf mod_ruby-1.0.7.tar.gz $ cd mod_ruby-1.0.7 $./configure.rb --with-apxs=/path/to/apxs $ make $ make install Затем редактируем файл настроек apache (httpd.conf или apache.conf) и добавляем в него следующее: # загрузка модуля mod_ruby LoadModule ruby_module /usr/lib/apache/mod_ruby.so AddModule mod_ruby.c # Настройка обработчиков для файлов *.rbx <IfModule mod_ruby.c> RubyRequire apache/ruby-run<Location /ruby> SetHandler ruby-object RubyHandler Apache::RubyRun.instance Options +ExecCGI </Location>
<Files *.rbx> SetHandler ruby-object RubyHandler Apache::RubyRun.instance Options +ExecCGI </Files>
</IfModule> Примечание: это немного расходится с примером, указанным в документации, но именно так у меня получилось запустить Ruby скрипты. Для тестирования создайте в директории public_html файл hello.rbx вида puts "Hello!" Обращаемся к нему по ссылке (у вас может быть другая ссылка) "http://localhost/~alex/hello.rbx". Если отработало, значит все получилось. Если нет, обращайтесь, поможем, чем сможем. Установка книги "Programming Ruby: The Pragmatic Programmers' Guide" Авторы: Dave Thomas и Andrew Hunt $ emerge dev-ruby/programming-ruby Примечание: новая редакция книги находится на сайте phrogz.net MySQL расширение для Ruby $ emerge dev-ruby/mysql-ruby
Windows
Для- 1
- 2
- 3
- . . .
- последняя (4) »
Последние комментарии
21 часов 22 минут назад
21 часов 40 минут назад
21 часов 49 минут назад
21 часов 50 минут назад
21 часов 53 минут назад
22 часов 11 минут назад