Perl 6 Pod: Код форматирования A - вставка псевдонимов
Разновидностью кода замещения P<>
является код форматирования A<>
. Он замещается содержимым именованного псевдонима или объекта, указанных внутри ограничителей.
Например:
=alias PROGNAME Earl Irradiatem Eventually
=alias VENDOR 4D Kingdoms
=alias TERMS_URL L<http://www.4dk.com/eie>
The use of A<PROGNAME> is subject to the terms and conditions
laid out by A<VENDOR>, as specified at A<TERMS_URL>.
Любой из объектов Perl 6, доступный на этапе компиляции и содержащий сигил, автоматически становится доступным для подстановки по его имени. Также все объекты, которые не являются строковыми типами, в режиме подготовки документации преобразуются в строки посредством неявного вызова метода .perl
.
Так, например, документ может ссылаться на имя своего файла - A<$?FILE>
, на подпрограмму, внутри которой размещен блок Pod - A<$?ROUTINE>
или на текущий класс A<$?CLASS>
[1].
Аналогично, значение любой программной константы определенной с сигилом может быть легко вставлено в документацию:
# Actual code...
constant $GROWTH_RATE of Num where 0..* = 1.6;
=pod
=head4 Standard Growth Rate
The standard growth rate is assumed to be A<$GROWTH_RATE>.
Для подобных объектов возможны вызовы константных (non-mutating) методов.
Так например, в документации можно вставить сигнатуру подпрограммы (A<$?ROUTINE.signature>
) или тип константы (A<$GROWTH_RATE.WHAT>
).
На странице конвертера "L<Perl 6 Pod to HTML|<http://zag.ru/perl6-pod/>" доступен пример кода форматирования A .
[1]твигил ?
указывает на значение переменной на этапе компиляции.