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

Здесь есть возможность читать онлайн «Хэл Фултон - Программирование на языке Ruby» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: ДМК Пресс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование на языке Ruby: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование на языке Ruby»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование на языке Ruby», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

pdf.fill_color Color::RGB::Black

# Правый верхний: Grampian Highlands (UR).

quadrant(pdf, :ur) do

pdf.image("grampian-highlands.jpg",

:height => pdf.margin_height,

:resize => :width)

pdf.text("The Grampian Highlands, Scotland",

justification => :center,

:font_size => 36)

pdf.text("\001August 2001\001", :justification => :center,

:font_size => 24)

pdf.move_pointer(24)

info = <<-'EOS'.split($/).join(" ").squeeze(" ")

This picture was taken during a driving vacation through the

Scottish highlands in August 2001 by Austin Ziegler.

EOS

pdf.text(info, :justification => :full, :font_size => 16,

:left => 100, :right => 100)

end

pdf.fill_color Color::RGB::Black

# Левый нижний: Individual-I (LL).

quadrant(pdf, :ll) do

require 'color/palette/monocontrast'

class IndividualI

def initialize(size = 100)

@size = size

end

# Размер буквы "i" в пунктах.

attr_accessor :size

def half_i(pdf)

pdf.move_to(0, 82)

pdf.line_to(0, 78)

pdf.line_to(9, 78)

pdf.line_to(9, 28)

pdf.line_to(0, 28)

pdf.line_to(0, 23)

pdf.line_to(18, 23)

pdf.line_to(18, 82)

pdf.fill

end

private :half_i

def draw(pdf, x, y)

pdf.save_state

pdf.translate_axis(x, y)

pdf.scale_axis(1 * (@size / 100.0), -1 * (@size / 100.0))

pdf.circle_at(20, 10, 7.5)

pdf.fill

half_i(pdf)

pdf.translate_axis(40, 0)

pdf.scale_axis(-1, 1)

half_i(pdf)

pdf.restore_state

end

end

ii = IndividualI.new(24)

x = pdf.absolute_left_margin

y = pdf.absolute_top_margin

bg = Color::RGB.from_fraction(rand, rand, rand)

fg = Color::RGB.from_fraction(rand, rand, rand)

pal = Color::Palette::MonoContrast.new(bg, fg)

sz = 24

(-5..5).each do |col|

pdf.fill_color pal.background[col]

ii.draw(pdf, x, y)

ii.size += sz

x += sz / 2.0

y -= sz / 2.0

pdf.fill_color

pal.foreground[col]

ii.draw(pdf, x, y)

x += sz / 2.0

y -= sz / 2.0

ii.size += sz

end

end

pdf.fill_color Color::RGB::Black

# Правый нижний: Gettysburg Address (LR).

# Это текст Геттисбергского обращения Авраама Линкольна.

quadrant(pdf, :lr) do

pdf.text("The Gettysburg Address\n\n",

:font_size => 36, justification => :center)

y0 = pdf.y + 18

speech = <<-'EOS'.split($/). join(" ").squeeze(" ")

Four score and seven years ago our fathers brought forth on

this continent a new nation, conceived in liberty and

dedicated to the proposition that all men are created equal.

Now we are engaged in a great civil war, testing whether

that nation or any nation so conceived and so dedicated can

long endure. We are met on a great battlefield of that war.

We have come to dedicate a portion of that field as a final

resting-place for those who here gave their lives that that

nation might live. It is altogether fitting and proper that

we should do this. But in a larger sense, we cannot

dedicate, we cannot consecrate, we cannot hallow

this ground. The brave men, living and dead who struggled here

have consecrated it far above our poor power to add or

detract. The world will little note nor long remember what

we say here, but it can never forget what they did here. It

is for us the living rather to be dedicated here to the

unfinished work which they who fought here have thus far so

nobly advanced. It is rather for us to be here dedicated to

the great task remaining before us that from these honored

dead we take increased devotion to that cause for which they

gave the last full measure of devotion that we here highly

resolve that these dead shall not have died in vain, that

this nation under God shall have a new birth of freedom, and

that government of the people, by the people, for the people

shall not perish from the earth.

EOS

pdf.text(speech, justification => :full, :font_size => 14,

:left => 50, :right => 50)

pdf.move_pointer(36)

pdf.text("U.S. President Abraham Lincoln, 19 November 1863",

:justification => :right, :right => 100)

pdf.text("Gettysburg, Pennsylvania", :justification => :right,

:right => 100)

pdf.rounded_rectangle(pdf.left_margin + 25, y0, pdf.margin_width - 50,

y0 - pdf.y + 18, 10).stroke

end

pdf.save_as("4page.pdf")

Рис 154 Пример документа состоящего из четырех страниц в разных квадрантах - фото 14

Рис. 15.4. Пример документа, состоящего из четырех страниц в разных квадрантах

Итак, в четырех квадрантах расположены следующие страницы:

• левый верхний: demo.rb;

• правый верхний: фотография Грампианских холмов, Шотландия;

• левый нижний: individual-i.rb;

• правый нижний: Геттисбергское обращение.

Для краткости будем называть эти квадранты UL, UR, LL и LR. В тексте программы используются соответствующие символы ( :ulи т.д.).

Первый квадрант (UL) заполнен вертикальными линиями, толщина которых постепенно уменьшается, начиная с 40 единиц, с одновременным осветлением. Затем рисуются круги увеличивающегося радиуса, при этом толщина линий уменьшается, а цвет становится светлее. И наконец, выводятся два набора текстов: один — сверху вниз с постепенным уменьшением размера шрифта, а другой — с поворотом вокруг центральной оси как раз там, где кончаются вертикальные линии.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование на языке Ruby»

Представляем Вашему вниманию похожие книги на «Программирование на языке Ruby» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

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

x