Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Домофонщик |
Отправлено: Dec 4 2007, 02:54 PM
|
||||||||||||||||
Генерал Группа: Members Сообщений: 244 Пользователь №: 1099 Регистрация: 22-August 07 |
Я хочу вас познакомить со сравнительно новым языком программирования Ruby (читается — «руби»). Но перед тем как начать — немного исторических фактов. Название языка происходит от имени драгоценного камня рубина (по аналогии с другим широко распространенным языком программирования Perl: «pearl» — жемчуг). Ruby увидел свет 23 февраля 1993 года. Его создатель — японец Юкихиро Мацумото (по прозвищу Мац), стремился создать язык, совмещающий все наилучшие качества других языков, чтобы облегчить труд программиста. Итак, в декабре 1995 года был опубликован Ruby 0.95 в японских новостных группах. С тех пор все и началось… В стране восходящего солнца Ruby стал популярным с момента появления первой общедоступной пользовательской версии в 1995 году, однако наличие документации к нему только лишь на японском языке сдерживало его дальнейшее распространение и популяризацию. Только в 1997 году появилось описание Ruby на английском языке, а в 1998 году даже уже открылся форум ruby-talk. С этого момента язык программирования Ruby начал свое шествие по всему миру. Сейчас Ruby входит в большинство дистрибутивов ОС Linux, доступен он и пользователям других операционных систем, таким, например, как всеми нами любимая Windows. Ruby очень удобный язык для решения многих задач. Вот как характеризует Ruby его автор: «Это мощный и динамический объектно-ориентированный язык с открытыми исходниками. Ruby работает на многих платформах, включая Linux и другие реализации Unix, MS–DOS, Windows 9x/2000/NT, BeOS и MacOS. Главная цель Ruby — эффективность разработки программ, и пользователи найдут, что программирование на нем эффективно и даже забавно». Вот перечисление некоторых достоинств Ruby: • имеет довольно простой синтаксис; • поддерживает обработку исключений; • позволяет переопределять операторы; • является чисто объектно-ориентированным языком, в котором, в отличие от Java или Perl, все — объекты; • позволяет работать с целыми числами произвольной величины (в Ruby нет ограничений на числа как таковых); • не требует объявления переменных; • использует префиксы (@, $, @@) для задания области видимости ( scope) переменных; • поддерживает многопоточное программирование. К недостаткам интерпретатора Ruby можно отнести следующие: • невысокая скорость работы; • отсутствие поддержки потоков операционной системы (данное утверждение действительно только для операционных систем семейства Microsoft Windows, потому как для Unix-подобных операционных систем есть Kernel.fork); • у Ruby отсутствует встроенная поддержка юникода. А где же все-таки используется Ruby, спросите вы… За ответом далеко ходить не надо: • RPG Maker — R GSS (Ruby Game Scripting System); • X Chat; • Для K-Office разрабатывается Kross — механизм для поддержки скриптов, который включает Ruby; • W A T I R (англ. «Web Application Testing in Ruby») — свободное средство для автоматического тестирования web-приложений в браузере. Более полный список программ, написанных на Ruby, вы сможете найти по адресу raa.ruby-lang.org. Наше знакомство с Ruby начнется с установки данного языка. Скачать дистрибутив можно в Интернете. В свое время я брал его по ссылке rubyforge.org/projects/rubyinstaller/. Последней известной мне версией Ruby является версия 1.8.5, которая вышла 28 августа 2006 года. Также существует вариант и для *никс-систем, но мне не удалось установить Ruby на мой Линукс (у меня стоит Alt Linux). Процесс установки подробно я описывать не буду. Объясню лишь некоторые моменты. Итак. Параметры настройки редактора SciTE (Windows) К сожалению, после установки SciTE замечены некоторые недостатки: • не готов к работе с русским текстом; • не показывает номера строк; • знак табуляции заменяется на 8 пробелов вместо 4; • текстовые символы разной ширины; • знак переноса строки CR+LF (\r\n) вместо LF (\n), что может повлечь за собой проблемы с исполнением на операционных системах, отличных от ОС Windows. Эти недостатки быстро устраняются через правку конфигурационных файлов. Загрузите свой редактор SciTE (обычно он расположен по адресу c:\ruby\scite\scite.exe). Выберите в меню Options > Open Global Options File. Нас интересуют только следующие опции:
Чтобы не утруждать себя поиском и заменой указанных параметров, добавьте их в конец конфигурационного файла. Перезапустите SciTE. Теперь можете забыть обо всем вышесказанном до следующей переустановки дистрибутива. Чтобы запустить программу в SciTE, сохраните ее с расширением .rbw (или .rb). После этого выполнение программы будет происходить при нажатии клавиши F5. Открытие/закрытие окна с выводом результата программы осуществляется клавишей F8. Создаем файл firstPrimer.rb. Далее нужно просто щелкнуть дважды по ярлыку с именем firstPrimer.rb. Помимо этого, любой редактор из стандартной поставки (SciTE и FreeRIDE) с радостью запустит вашу программу в ответ на нажатие клавиши F5. Первая программа Открываем текстовый редактор SciTE (или тот, который вы себе установили — их огромное множество) и начинаем писать нашу первую программу. Как заведено, это будет программа «Hello world!» Давайте не будем нарушать традицию:
Сохраняем ее с именем firstPrimer.rb и запускаем. На экране будет красоваться надпись:
Поздравляю вас, традиционный ритуал можно считать исполненным. Комментарии и демонстрация результата В Ruby знаком начала комментария служит символ #. Все, что между ним и концом строки, является комментарием. Пример:
Вывод результата на экран В Ruby есть много методов для вывода на экран: print, printf, p, puts, .display и другие. Но пока давайте мы пользоваться будем только двумя: • метод puts. После вывода строки осуществляется переход на новую строку. Если приходится выводить объект, который не является строкой, то puts вызывает метод .to_s для преобразования его к строке (от «to_string»); • метод p. Имеет самое короткое название, из-за чего часто используется для отладки. Так же, как и puts, осуществляет перевод на новую строку после вывода. Перед выводом любого объекта (в том числе и строки) на экран вызывает метод .inspect. Приведу вам несколько примеров вывода на экран:
Как видно из примера ( рис. 1), результаты при выводе строк и массивов существенно различаются. Если вас не смущают кавычки в результате вывода, то смело используйте p, если смущают, то puts. Переменные Для тех, кто не знает: переменные используются, чтобы сохранить промежуточный результат вычислений. В нашем случае имя переменной в Ruby должно удовлетворять следующим условиям: • начинаться со строчной латинской буквы или знака подчеркивания; • состоять из строчных и прописных латинских букв, цифр и знака подчеркивания. Это значит, что такие имена как 1Peremennaja, Peremennaja, p@#mennaja не являются действительными. В Ruby значение переменной передается оператором присваивания (=). Делается это так:
Слева от знака присваивания может быть как конкретный объект (пример первой строки), так и некоторое выражение (пример второй и третей строк). Интерактивный терминал Наверное, самым удобным способом экспериментировать с Ruby и программами на этом языке является интерактивный терминал irb (от «Interactive Ruby Shell», рис. 2). Он входит в комплект любого дистрибутива этого языка (да и сам к тому же написан на Ruby!) Чтобы начать работать с терминалом, просто запустите его, зайдя в папку с дистрибутивом и найдя файл irb.bat. Когда терминал запущен, можно набирать код, который сразу же будет выполнен. Результат выполненной операции вы увидите на своем экране:
Поскольку одной из особенностей языка Ruby является то, что любая функция может быть переопределена в любой момент, важнейший этап написания большинства моих (а со временем и ваших) небольших (которые в процессе изучения языка становятся намного больше) программ — это именно эксперименты в интерактивном терминале. Давайте, к примеру, произведем некоторые несложные вычисления:
Для того чтобы выйти из терминала, следует просто набрать команду exit. Несомненно, главным, но отнюдь не единственным плюсом данного языка программирования является его простота и краткость. О его краткости вы смогли убедиться на данном примере простой программы. |
||||||||||||||||