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

ЖАНРЫ

Программирование на языке Ruby
Шрифт:

ie.left = 150

ie.top = 150

ie.height = 200

ie.width = 300

ie.menubar = 0

ie.toolbar = 0

ie.navigate "about:blank"

ie.visible=TRUE;

ie.document.open

ie.document.write html

ie.document.close

sleep 5

ie.quit

В

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

require "win32ole"

cd = WIN32OLE.new("MSComDlg.CommonDialog")

# Задать фильтр файлов

cd.filter = "All Files(*.*)| *.*" +

 "| Ruby Files(*.rb)|*.rb"

cd.filterIndex = 2

cd.maxFileSize = 128 # Установить MaxFileSize.

cd.showOpen

file = cd.fileName # Получить путь к файлу.

if not file or file==""

 puts "Файл не выбран."

else

 puts "Пользователь выбрал: #{file}\n"

end

И, наконец, определим IP-адрес своего компьютера:

require "win32ole"

ws = WIN32OLE.new "MSWinsock.Winsock"

# Получить свойство LocalIP

ipAddress = ws.localIP

puts "Локальный IP-адрес равен : #{ipAddress}"

Как видите, возможности не ограничены. Развлекайтесь и не забывайте делиться своими программами с другими!

14.5.3. Использование ActiveScriptRuby

Наверняка вам приходилось открывать в браузере Internet Explorer страницы, содержащие код на языке JavaScript или VBScript. (Мы не будем здесь касаться различий между JScript и JavaScript.)

Но сценарий можно написать и на языке ActiveScriptRuby, представляющем собой мост между COM и Ruby. Вот как можно включить код на Ruby в HTML-страницу (листинг 14.4).

Листинг 14.4. Код на Ruby, встроенный в HTML-страницу

<html>

 <script language="RubyScript">

# Это код на Ruby...

def helloMethod

@window.alert "Работает Ruby!"

end

 </script>

 <body>

Это кнопка...

<input id=Hello type=button onclick="helloMethod" language="RubyScript">

 </body>

</html>

С помощью той же техники можно вызывать написанный на Ruby код из любого Windows-приложения, поддерживающего интерфейс

IActiveScript
,
например из Explorer или WScript (исполняемый файл называется WSH). Дополнительную информацию вы можете найти на странице arton .

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
— в действительности целый набор мелких библиотек. Мы не можем рассмотреть их все подробно, но хотя бы перечислим.

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