Программирование на языке Ruby - [177]
14.5.3. Использование ActiveScriptRuby
Наверняка вам приходилось открывать в браузере Internet Explorer страницы, содержащие код на языке JavaScript или VBScript. (Мы не будем здесь касаться различий между JScript и JavaScript.)
Но сценарий можно написать и на языке ActiveScriptRuby, представляющем собой мост между COM и Ruby. Вот как можно включить код на Ruby в HTML-страницу (листинг 14.4).
>
>
> # Это код на 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;
• >win32-process
— реализация для Windows методов >fork
, >wait
и >kill
, имеющихся в UNIX;
• >win32-sapi
— интерфейс к Microsoft Speech API;
• >win32-service
— интерфейс к службам Windows;
• >win32-shortcut
— интерфейс для создания и модификации ярлыков в Windows;
• >win32-sound
— интерфейс для воспроизведения звуковых файлов в Windows;
Вот еще несколько библиотек, которые полезно иметь под рукой:
• >Win32::Console
— это перенос пакетов Win32::Console и Win32::Console::ANSI, первоначально написанных на языке Perl. Эта библиотека значительно упрощает работу с консолью в Windows (изменение цветов, позиционирование курсора, запрос информации и эмуляцию управляющих символов ANSI);
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.