Как видите, возможности не ограничены. Развлекайтесь и не забывайте делиться своими программами с другими!
14.5.3. Использование ActiveScriptRuby
Наверняка вам приходилось открывать в браузере Internet Explorer страницы, содержащие код на языке JavaScript или VBScript. (Мы не будем здесь касаться различий между JScript и JavaScript.)
Но сценарий можно написать и на языке ActiveScriptRuby, представляющем собой мост между COM и Ruby. Вот как можно включить код на Ruby в HTML-страницу (листинг 14.4).
Листинг 14.4. Код на Ruby, встроенный в HTML-страницу
# Это код на Ruby...
def helloMethod
@window.alert "Работает Ruby!"
end
Это кнопка...
С помощью той же техники можно вызывать написанный на Ruby код из любого Windows-приложения, поддерживающего интерфейс IActiveScript
, например из Explorer или WScript (исполняемый файл называется WSH). Дополнительную информацию вы можете найти на странице arton (http://vvww.geocities.co.jp/SiliconValley-PaolAlto/9251/rubymain.html).
14.6. Моментальный инсталлятор для Windows
С точки зрения пользователей Microsoft Windows одним из самых значительных шагов в развитии Ruby за последние годы стал так называемый «моментальный инсталлятор» (one-click installer). Главным разработчиком этого проекта (официально он называется Ruby Installer) является Курт Гиббс (Curt Hibbs). Процедура инсталляции выполнена в «родном» для Windows стиле.
Инсталлятор особенно ценен тем, что работает в полном соответствии с ожиданиями пользователей Windows. Он имеет графический интерфейс и выполняет шаги установки в строго определенном порядке. Разумеется, инсталлируется двоичная версия, так что компилятор не нужен. Но это не единственные его привлекательные черты.
Устанавливаемый дистрибутив весьма полон («батарейки в комплекте»). Он включает не только интерпретатор Ruby со всеми системными классами и стандартными библиотеками, но и целый ряд дополнительных библиотек и приложений. Многие из них предназначены исключительно для платформы Win32.
Устанавливаются следующие компоненты (некоторые из них необязательны):
• сам интерпретатор Ruby (пакет ruby-mswin32
и пакет RubySrc
для тех, кто хочет познакомиться с исходными текстами на языке С);
• два часто используемых приложения: RubyGems
и rake
;
• бесплатная копия книги Дейва Томаса (Dave Thomas) и Энди Ханта (Andy Hunt) «Programming Ruby» — первое издание в формате Windows Help;
• библиотека fxruby
(обычно несколько версий), реализующая привязки к комплекту инструментов для создания графических интерфейсов FOX;
• инструменты для разработки приложений трехмерной графики OpenGL
и GLUT
;
• утилиты fxirb
и fxri
— графические версии программ irb
и ri
, написанные с применением библиотеки FXRuby;
• FreeRIDE — интегрированная среда разработки для Ruby с встроенным редактором, обозревателем исходных текстов и отладчиком (работа над совершенствованием этой программы ведется постоянно);
• SciTE — текстовый редактор на базе Scintilla;
• SWin и VRuby — инструменты для обработки сообщений Windows и разработки графических интерфейсов (обе являются частью проекта VisualuRuby, во главе которого стоит Ясухира Насикава);
• два анализатора XML (XMLParser и Expat), а также HTMLParser;
• библиотеки для работы с базами данных RubyDBI и DBD/ODBC;
• прочие библиотеки и инструменты, в том числе log4r
, zlib
, OpenSSL
, Iconv
, readline
и другие.
Планируются, но еще не готовы варианты этого инсталлятора и для других платформ.
14.7. Библиотеки, о которых полезно знать
Если вы программируете на Ruby в Windows, вам абсолютно необходим пакет, созданный Дэниэлем Бергером (Daniel Berger), одним из самых известных специалистов по Ruby на этой платформе. Библиотека win32-utils
— в действительности целый набор мелких библиотек. Мы не можем рассмотреть их все подробно, но хотя бы перечислим.
• win32-changenotify
— для мониторинга событий файловой системы;
• win32-clipboard
— для взаимодействия с буфером обмена Windows;
• win32-etc
— предоставляет аналоги таких UNIX-функций, как getpwnam
и getpwuid
;
• win32-event
— интерфейс с событиями Windows (объектами Event);
• win32-eventlog
— интерфейс с журналом событий;
• win32-ipc
— базовый класс для всех объектов синхронизации в Windows (используется в библиотеке win32-event
и др.);
• win32-mmap
— интерфейс к файлам, проецируемым на память, в Windows;
• win32-open3
— библиотека open3
для Windows (запустить команды и получить три описателя файлов);
• win32-pipe
— именованные каналы в Windows;
Читать дальше
Конец ознакомительного отрывка
Купить книгу