Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование: прочее >> Быстрый курс Ruby


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1388, книга: Музыка слов
автор: Анастасия Романовна Чавкина

"Музыка слов" - это сборник стихов, который тронул глубину моей души. Это не просто слова на бумаге, а откровения автора, ее путешествие самопознания и духовного роста. С первых строк я почувствовала связь с Анастасией Чавкиной. Ее стихи - словно зеркало, отражающее мои собственные мысли и эмоции. Они говорят о любви, потере, одиночестве и поиске смысла. Стихи Анастасии глубоко личные, но в то же время универсальные. Она пишет о жизненных переживаниях, с которыми может столкнуться...

Александр Неткачев - Быстрый курс Ruby

Быстрый курс Ruby
Книга - Быстрый курс Ruby.  Александр Неткачев  - прочитать полностью в библиотеке КнигаГо
Название:
Быстрый курс Ruby
Александр Неткачев

Жанр:

Самиздат, сетевая литература, Учебники и самоучители по компьютеру, Литература ХXI века (эпоха Глобализации экономики), Linux, Windows, Программирование: прочее, Ruby

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Быстрый курс Ruby"

Курс ориентирован на читателей, которые уже знают какой-либо язык программирования и понимают магию, с помощью которой из набора разрозненных операторов получается нечто действительно полезное. Поэтому курс сокращен до предела и организован в виде блоков "задача — решение". Блоки сгруппированы в тематические разделы.

Читаем онлайн "Быстрый курс Ruby". [Страница - 4]

{

//…

} finaly {

//…

}

Получить Exception объект в секции rescure

$!

Вызывать исключение

raise

Повторно вызвать begin.. end блок

retry

Прерывание выполнения

catch (:exit) do

 1..10.each do |i|

  1..10.each do |j|

   throw: exit if a[i, j] = 0

  end

 end

end

Модули

Определить модуль

module MyFunctions

 def…

end

Добавить описания из модуля в класс

class MyClass

 include MyFunctions

end

Прочее

Взаимодействие с shell

`date`

Альясы операторов

class Fixnum

 alias oldPlus +

 def +(value)

  oldPlus(value)

  puts 'Plus called'

 end

end

Параллельное присвоение

a, b = b, a

Небольшой пример программы на Ruby

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

File: createToc.rb

#!/usr/bin/ruby — w


# createToc.rb

# Программа составляет оглавление, выводит его вместо CREATE_TOC

# и добавляет якоря вида <a name="sN"></a> к заголовкам


# задаем строковую переменную — идентификатор оглавления

tocToken = 'CREATE_TOC'


# определяем массив, в котором будет строиться оглавление

toc = []


# результат

output = ''


# для всех строк входного потока

ARGF.each do |line|


 # если строка содержит заголовок 3го, 4го или 5го уровня

 if line =~ %r{<h([3–5])>([^<]+)</h[3–5]>}


  # определить номер якоря

  anchorId = toc.length.to_s


  # и добавить в массив toc пункт оглавления

  toc << (' ' * ($1.to_i - 3) * 2) + "<a href=\"#a#{anchorId}\">#{$2}</a><br>\n"


  # к строке output добавить заголовок с добавленым якорем

  output << line.sub('>', "><a name=\"a#{anchorId}\"></a>")

 else

  output << line

 end

end


# выводим результат, в котором tocToken заменяется на оглавление

puts output.sub(tocToken, '<div class="TOC">' + toc.join + '</div>')

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

Использование программы:

$ createToc.rb < article.html > new_article.html

Продолжение следует…

В продолжении планируется:

● Ruby и XML (готово)

● многопоточность Ruby

● сравнение скорости программ на Ruby и PHP

● Ruby и MySQL

Статья взята с сайта OpenNet.

10.05.2004

--">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.