Быстрый курс Ruby [Александр Неткачев] (fb2) читать постранично, страница - 4
[Настройки текста] [Cбросить фильтры]
Получить 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
Последние комментарии
38 минут 4 секунд назад
2 часов 56 минут назад
4 часов 46 минут назад
10 часов 31 минут назад
10 часов 37 минут назад
10 часов 40 минут назад