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] твигил ? указывает на значение переменной на этапе компиляции.

All Articles