-->

Программирование на языке Ruby

На нашем литературном портале можно бесплатно читать книгу Программирование на языке Ruby, Фултон Хэл-- . Жанр: Программирование. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале bazaknig.info.
Программирование на языке Ruby
Название: Программирование на языке Ruby
Дата добавления: 16 январь 2020
Количество просмотров: 514
Читать онлайн

Программирование на языке Ruby читать книгу онлайн

Программирование на языке Ruby - читать бесплатно онлайн , автор Фултон Хэл
Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов. Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии. Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала

Перейти на страницу:

  box = Gtk::VBox.new

  box.pack_start(menubar, false, false, 0)

  box.add(Gtk::Label.new("Try the menu and tooltips!"))

  add(box)

  set_default_size(300, 100)

  show_all

 end

end

Gtk.init

MenuWindow.new

Gtk.main

И здесь базовая структура программы такая же, как в предыдущих примерах. В данном случае мы создаем пункт меню

Gtk::MenuItem
с именем
Exit
и задаем для него обработчик события, который завершает программу. Событие называется
activate
и генерируется, когда пользователь выбирает пункт меню.

Далее создается меню

File
и в него добавляется пункт
Exit
. Это все, что требуется для создания выпадающего меню. В конце создается пункт меню
File
; именно он и появится в полосе меню. Чтобы присоединить пункт
File
к меню
File
, мы вызываем метод
submenu=
.

Затем

создается
полоса меню
Gtk::MenuBar
, в которую добавляются три меню:
File
,
Nothing
и Useless. Что-то делает лишь первое меню, остальные приведены только для демонстрации.

Всплывающими подсказками управляет единственный объект

Gtk::Tooltips
. Чтобы создать подсказку для любого виджета, например для пункта меню, нужно вызвать метод
set_tip
, которому передаются сам виджет, текст подсказки и строка, содержащая дополнительный скрытый текст. Скрытый текст не показывается в составе подсказки, но может, например, использоваться для организации оперативной справки.

Чтобы разместить полосу меню в верхней части главного окна, мы взяли

Gtk::VBox
в качестве самого внешнего контейнера. В данном случае мы добавляем в него полосу меню не методом
add
, а методом
pack_start
, чтобы точнее контролировать внешний вид и положение виджета.

Первым параметром методу

pack_start
передается размещаемый виджет. Второй параметр — булевский признак, показывающий, должен ли виджет занимать все доступное пространство. Отметим, что виджет при этом не растет, а обычно просто размещается в центре контейнера. Мы хотим, чтобы полоса меню располагалась сверху, поэтому передаем
false
.

Третий параметр — тоже булевская величина, говорящая о том, должны ли размеры виджет быть изменены так, чтобы он занял все отведенное пространство. Нам нужна лишь узкая полоса меню, поэтому мы и тут передаем

false
. Последний параметр метода
pack_start
задает отступы, то есть пустое место вокруг виджета. Нам это ни к чему, поэтому мы передаем нуль.

Большую часть главного окна занимает метка. Напоследок мы принудительно устанавливаем размер окна 300×100 пикселей.

12.2.6. Дополнительные замечания

Ruby/GTK2 — это часть проекта Ruby-GNOME2. GNOME — пакет более высокого уровня, основанный на библиотеке GTK+, a Ruby-GNOME2 — набор привязок для библиотек, входящих в состав GNOME.

Ruby-GNOME2 включает следующие библиотеки:

• Базовые библиотеки. Они включены в пакеты ruby-gtk2. Иногда термином «Ruby/GTK2» обозначают всю совокупность этих библиотек. Они работают на платформах UNIX, MS Windows, Mac OS X (с X11) и Cygwin (с X11). Все они необходимы для других библиотек, входящих в состав Ruby-GNOME2.

• Ruby/GLib2. GLib — низкоуровневая инфраструктурная библиотека. Она предоставляет структуры данных на языке С, слой, обеспечивающий переносимость, поддержку Unicode и интерфейсы для поддержки цикла обработки событий, потоков, динамической загрузки и системы объектов. Ruby/GLib2 — обертка библиотеки GLib. Поскольку в Ruby уже есть хорошие классы для работы со строками и списками, некоторые функции GLib не реализованы. С другой стороны, Ruby/GLib2 содержит ряд важных функций для преобразования между объектами на С и на Ruby. Эта библиотека необходима для всех остальных библиотек, входящих в состав Ruby/GTK2.

 Ruby/ATK. Эта библиотека предоставляет набор интерфейсов для облегчения работы. Приложение или набор средств разработки, поддерживающие интерфейсы ATK, могут применяться с такими инструментами, как считыватели с экрана, лупы и альтернативные устройства ввода.

 Ruby/Pango. Библиотека для отображения текста с упором на интернационализацию с использованием кодировки UTF-8. Образует основу для работы с текстами и шрифтами в GTK+ (2.0).

 Ruby/GdkPixbuf2. Библиотека для загрузки и манипулирования изображениями. Поддерживает многочисленные графические форматы, включая JPEG, PNG, GIF и другие.

• Ruby/GDK2. Промежуточный слой, изолирующий GTK+ от деталей оконной системы.

 Ruby/GTK2. Основные виджеты для построения графических интерфейсов.

• Дополнительные библиотеки включены в пакеты

ruby-gnome2
наряду с базовыми. Все они работают в UNIX, а некоторые (Ruby/GtkGLExt, Ruby/Libglade2) также в MS Windows и Mac OS X. Некоторые библиотеки теоретически должны работать в Mac OS X (с X11) и Cygwin (с X11), но недостаточно хорошо протестированы.

• Ruby/GNOME2. Содержит дополнительные виджеты для проекта GNOME.

• Ruby/GnomeCanvas2. Виджет для интерактивного создания структурной графики.

• Ruby/GConf2. Прозрачная для процесса конфигурационная база данных (аналог реестра в Windows).

• Ruby/GnomeVFS. Позволяет приложениям одинаково обращаться к локальным и удаленным файлам.

• Ruby/Gstreamer. Мультимедийный каркас для обработки аудио и видеоинформации.

• Ruby/GtkHtml2. Виджет для представления HTML-документов.

• Ruby/GtkGLExt. Предлагает трехмерный рендеринг с использованием технологии OpenGL.

• Ruby/GtkSourceView. Виджет

Text
с поддержкой синтаксической подсветки и других возможностей, ожидаемых от редактора исходных текстов.

• Ruby/GtkMozEmbed. Виджет, включающий механизм рендеринга Mozilla Gecko.

• Ruby/Libart2. Поддержка базовых средств рисования.

• Ruby/Libgda. Интерфейс к архитектуре GDA (GNU Data Access), обеспечивающий доступ к источникам данных, например СУБД и LDAP.

• Ruby/Libglade2. Позволяет приложению загружать описание пользовательского интерфейса из XML-файлов во время выполнения. XML-файлы создаются мощным редактором интерфейсов GLADE, который упрощает издание интернационализированных графических интерфейсов пользователя.

• Ruby/PanelApplet. Библиотека для создания аплетов, размещаемых на панели GNOME.

• Ruby/GnomePrint и Ruby/GnomePrintUI. Виджеты для печати.

• Ruby/RSVG. Поддержка векторной графики в формате SVG.

Перейти на страницу:
Комментариев (0)
название