Полный список символов, применяемых для
Полный список символов, применяемых для описания полей и форматов, приводится в таблице 10.2.
@ | начало обычного поля | @ @<< @||| @>> @## |
^ | начало специального поля | ^ ^<< ^||| ^>> ^## |
< | текстовое поле с выравниванием значения влево и добавлением пробелов справа | @<<<<< ^<<< |
| | текстовое поле с центрированием значения и добавлением пробелов с обеих сторон | @||||| ^||| |
> | текстовое поле с выравниванием значения вправо и добавлением пробелов слева | @>>>>> ^>>> |
# | числовое поле с выравниванием значения вправо с добавлением пробелов слева | @#### ^### |
0 | (вместо первого #) числовое поле с выравниванием значения вправо и добавлением нулей слева | @0### ^0## |
. | десятичная точка в числовом поле | @.### @0##.## |
... | закончить текстовое поле многоточием, чтобы показать усечение значения | @<<<<<... |
@* | поле переменной ширины со значением, состоящим из нескольких строк | @* |
^* | поле переменной ширины для следующих строк многострочного значения | ^* |
~ | подавление вывода строки с пустыми значениями полей | ^* ~ |
~~ | повторять строку, пока все значения полей не станут пустыми | ~~ ^* |
{} | группировка списка значений, который располагается на нескольких строках аргументов | {$one, $two, $three } |
# | (первым символом в строке) строка комментария в описании формата (не может располагаться между строкой шаблонов и строкой аргументов) | # это комментарий |
. | (единственным символом на отдельной строке) конец формата | format REPORT = описание формата . |
То, как применяются поледержатели при описании формата, можно увидеть из следующего примера:
format STDOUT = Учетная карточка пользователя N @0### $number --------------------------------------------------------- Фамилия @<<<<<<<<<<<<<< | Login @<<<<<<< $last_name, $login Имя @<<<<<<<<<<< | Группа @<<<<<<<<<<<<<<<<< $first_name, $group Отчество @<<<<<<<<<<<<<<<<<< | $middle_name E-mail @<<<<<<<<<<<<<<<<<< | Телефон @>>>>>>>>> $email, $phone Ограничение дискового пространства @####.## Мегабайт $quota --------------------------------------------------------- Дата регистрации @# @<<<<<<<<< @### года {$day, $month_name,$year} .
Из примера понятно, что формат отчета записывается в виде, максимально похожем на представление страницы отчета на экране или на бумаге. Каждому полю в строке шаблонов должно соответствовать скалярное значение в строке аргументов. Имена переменных в строке аргументов для наглядности часто располагаются под соответствующими поледержателями в предыдущей строке шаблонов, хотя это совсем не обязательно. Список переменных может находиться на нескольких строках аргументов (как это сделано в описании последней строки формата); в этом случае он должен заключаться в фигурные скобки. Имейте в виду, что скалярные переменные и массивы в строке аргументов разворачиваются в единый список скаляров, из которого по порядку берутся значения для заполнения полей.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий