2.9. Форматирование строк

2.9. Форматирование строк

В Ruby, как и в языке С, для этой цели предназначен метод sprintf. Он принимает строку и список выражений, а возвращает строку. Набор спецификаторов в форматной строке мало чем отличается от принятого в функции sprintf (или printf) из библиотеки С.

name = "Боб"

age =28

str = sprintf("Привет, %s... Похоже, тебе %d лет.", name, age)

Спрашивается, зачем нужен этот метод, если можно просто интерполировать значения в строку с помощью конструкции #{expr}? А затем, что sprintf позволяет выполнить дополнительное форматирование - например, задать максимальную ширину поля или максимальное число цифр после запятой, добавить или подавить начальные нули, выровнять строки текста по левой или правой границе и т.д.

str = sprintf("%-20s %3d", name, age)

В классе String есть еще метод %, который делает почти то же самое. Он принимает одно значение или массив значений любых типов:

str = "%-20s %3d" % [name, age] # To же, что и выше

Имеются также методы ljust, rjust и center; они принимают длину результирующей строки и дополняют ее до указанной длины пробелами, если это необходимо.

str = "Моби Дик"

s1 = str.ljust(12)  # "Моби Дик"

s2 = str.center(12) # "  Моби Дик  "

s3 = str.rjust(12)  # "    Моби Дик"

Можно задать и второй параметр, который интерпретируется как строка заполнения (при необходимости она будет урезана):

str = "Капитан Ахав"

s1 = str.ljust(20,"+")   # "Капитан Ахав++++++++"

s2 = str.center(20,"-")  # "----Капитан Ахав----"

s3 = str.rjust(20,"123") # "12312312Капитан Ахав"

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Форматирование XSL

Из книги автора

Форматирование XSL Как обсуждалось в главе 1, XSLT и XSL-FO составляют спецификацию XSL. В данный момент версия 1.0 этой спецификации обладает статусом рекомендации-кандидата, с последней версией вы сможете познакомиться на http://www.w3.org/TR/xsl.Форматирующая часть XSL, XSL-FO, позволяет


Форматирование первых строк:

Из книги автора

Форматирование первых строк: <fo:initial-property-set> При помощи элемента <fo:initial-property-set> вы можете задать свойства для первой строки в блоке и отформатировать ее. В следующем примере я форматирую первую строку блока капителью (small caps) при помощи свойства font-variant (которое,


Форматирование и вывод строк

Из книги автора

Форматирование и вывод строк printВыводит строку, значение переменной или выражение.Синтаксис:print(string arg)Функция print() выводит аргумент arg, в качестве которого может быть переменная или выражение.echoПроизводит вывод одного или нескольких значений.Синтаксис:echo(string arg1, string


Форматирование текста

Из книги автора

Форматирование текста Для чего нужно форматирование? Попробуйте скопировать в «тело» документа произвольный текст и посмотрите на результат. Понравилось? Вся информация идет сплошным текстом: без заголовков, переносов, делений на абзацы и т. д. Чтобы сделать документ


4.4. Форматирование абзацев

Из книги автора

4.4. Форматирование абзацев В предыдущем разделе вы познакомились с инструментами форматирования символов. В Word имеются также специальные возможности для оформления текста в рамках абзацев: выравнивание, междустрочный интервал и отступы. При помощи этих характеристик


Форматирование документа

Из книги автора

Форматирование документа В этом подразделе рассмотрены следующие темы:• форматирование символов;• форматирование абзацев;• работа со списками;• работа с многоколоночными текстами;• стили и шаблоны.Хотел выделить пробелы подчеркиванием, однако у меня не получилось.


Форматирование документа

Из книги автора

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


Форматирование публикации

Из книги автора

Форматирование публикации Режим Форматирование публикации включает в себя четыре раздела: Параметры страницы, Цветовые схемы, Шрифтовые схемы и Настройка публикации. В разделе Параметры страницы можно при необходимости настроить параметры страницы и вставить эмблему.


Форматирование абзаца

Из книги автора

Форматирование абзаца При наборе текстов не менее важным является форматирование абзаца. Особенно это касается научных текстов и различных учебных работ – в методических пособиях часто указываются точные параметры оформления, касающиеся абзацных интервалов. Работы,


5.3. Форматирование документов

Из книги автора

5.3. Форматирование документов К стандартному форматированию документов можно отнести такие операции с фрагментами текста, как изменение положения на листе, изменение правых и левых отступов, красной и выступающей строки, выравнивание текста, изменение межстрочных


13.6. Форматирование текста

Из книги автора

13.6. Форматирование текста Настало время поговорить о форматировании текста. Это процесс выбора гарнитуры шрифта, его размера и начертания, установки выравнивания. Все это позволяет украсить документ и выделить его из числа прочих. Для форматирования текста используется


5.1.5. Форматирование символа

Из книги автора

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


5.1.6. Форматирование абзаца

Из книги автора

5.1.6. Форматирование абзаца Абзац— это часть текста, заключенная между символами «конец абзаца», которые вводятся нажатием клавиши <Retum>: Причем смысл части текста для приложения Pages абсолютно не имеет значения. Как только мы нажали клавишу <Retum>, значит, мы перешли к


Форматирование документа

Из книги автора

Форматирование документа Итак, вы видите перед собой окно Microsoft Word (рис. 3.11). Возможно, вид панелей инструментов у вас несколько другой и нет некоторых панелей инструментов (рисования, таблицы и границы). Установите их так, как это сделано на рисунке (см. пункт «Панели


Форматирование абзацев

Из книги автора

Форматирование абзацев Абзац – это текст, ввод которого начат с новой строки и закончен нажатием клавиши Enter, устанавливающей в тексте специальный маркер конца абзаца. Чтобы увидеть, где же была нажата клавиша Enter, а значит, закончился один абзац и начался следующий, нужно


Форматирование строк и столбцов

Из книги автора

Форматирование строк и столбцов Для изменения ширины столбца следует передвинуть его границу в области заголовков столбцов. Аналогично можно изменять высоту строк. Для более точной настройки ширины столбцов и высоты строк используйте меню кнопки, появляющееся после