Хэл Фултон - Программирование на языке Ruby

Тут можно читать онлайн Хэл Фултон - Программирование на языке Ruby - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство ДМК Пресс, год 2007. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Программирование на языке Ruby
  • Автор:
  • Жанр:
  • Издательство:
    ДМК Пресс
  • Год:
    2007
  • Город:
    Москва
  • ISBN:
    5-94074-357-9
  • Рейтинг:
    4/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Хэл Фултон - Программирование на языке Ruby краткое содержание

Программирование на языке Ruby - описание и краткое содержание, автор Хэл Фултон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов.

Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии.

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

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

Программирование на языке Ruby - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Хэл Фултон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Устанавливаемый дистрибутив весьма полон («батарейки в комплекте»). Он включает не только интерпретатор 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);

ActiveDirectoryпозволяет легко взаимодействовать с экземплярами Active Directory, работающими на серверах под управлением Microsoft Windows;

ruby-inifileпозволяет работать с ini-файлами (читать, разбирать и обновлять их).

В сети есть еще много библиотек, которые могут вам пригодиться. Ищите их на сайтах http://raa-ruby-lang.org и http://rubyforge.org.

14.8. Работа с файлами, каталогами и деревьями

При выполнении рутинных задач приходится много работать с файлами и каталогами, в том числе с целыми иерархиями каталогов. Немало материала на эту тему вошло в главу 4, но кое-какие важные моменты мы хотим осветить здесь.

Поскольку ввод/вывод — вещь системно-зависимая, то для различных систем приходится применять разные приемы. Если сомневаетесь, экспериментируйте!..

14.8.1. Несколько слов о текстовых фильтрах

Многие инструменты, которыми мы постоянно пользуемся (как поставляемые производителем, так и разрабатываемые собственными силами), — просто текстовые фильтры. Иными словами, они принимают на входе текст, каким-то образом преобразуют его и выводят. Классическими примерами текстовых фильтров в UNIX служат, в частности, программы sedи tr.

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

file = File.open(filename)

lines = file.readlines

# Какие-то операции...

lines.each { |x| puts x }

Бывает, что нужно обрабатывать файл построчно.

IO.foreach(filename) do |line|

# Какие-то операции...

puts line

end

Наконец, не забывайте, что все имена файлов, указанные в командной строке, автоматически собираются в объект ARGF, представляющий конкатенацию всех выходных данных (см. раздел 14.2.2). Мы можем вызывать, к примеру, метод ARGF.readlines, как если бы ARGFбыл объектом класса IO. Вся выходная информация будет, как обычно, направлена на стандартный вывод.

14.8.2. Копирование дерева каталогов (с символическими ссылками)

Пусть нужно скопировать целое дерево каталогов в новое место. Сделать это можно по-разному, но если в дереве есть символические ссылки, задача усложняется.

В листинге 14.5 приведено рекурсивное решение. Оно достаточно дружелюбно — контролирует входные данные и выводит информацию о порядке запуска.

Листинг 14.5. Копирование дерева каталогов

require "fileutils"

def recurse(src, dst)

Dir.mkdir(dst)

Dir.foreach(src) do |e|

# Пропустить . и ..

next if [".",".."].include? e

fullname = src + "/" + e

newname = fullname.sub(Regexp.new(Regexp.escape(src)),dst)

if FileTest:rdirectory?(fullname)

recurse(fullname,newname)

elsif FileTest::symlink?(fullname)

linkname = 'ls -l #{fullname}'.sub(/.* -> /,"").chomp

newlink = linkname.dup

n = newlink.index($oldname)

next if n == nil

n2 = n + $oldname.length - 1

newlink[n..n2] = $newname

newlink.sub!(/\/\//,"/")

# newlink = linkname.sub(Regexp.new(Regexp.escape(src)),dst)

File.symlink(newlink, newname)

elsif FileTest::file?(fullname)

FileUtils.copy(fullname, newname)

else

puts "??? : #{fullname}"

end

end

end

# "Главная программа"

if ARGV.size != 2

puts "Usage: copytree oldname newname"

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Хэл Фултон читать все книги автора по порядку

Хэл Фултон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Программирование на языке Ruby, автор: Хэл Фултон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x