RakuAST::Doc::Declarator
类包含执行 RakuAST::Doc::DeclaratorTarget
角色的对象的前导和尾随文档。
对 RakuAST
功能的支持在语言版本 6.e+
中可用,并在 Rakudo 编译器版本 2023.02 中添加。在早期语言版本中,仅在指定时可用
use experimental :rakuast;
对象内省§
当解析具有前导 (#|
) 和尾随 (#=
) 文档的 Raku 编程语言代码时,通常会创建 RakuAST::Doc::Declarator
对象。因此,大多数开发人员只需要知道如何内省创建的对象。
方法 WHEREFORE§
say "attached to a $declarator.WHEREFORE.^name() object";
返回此对象包含声明文档的对象。
方法 leading§
.say for .leading;
返回前导声明文档的行(如果对象是通过解析 Raku 源代码创建的,则每行一行带有 #|
)。
方法 trailing§
.say for .trailing;
返回尾随声明文档的行(如果对象是通过解析 Raku 源代码创建的,则每行一行带有 #=
)。
方法 raku§
# method .gist falls back to .rakusay ; # RakuAST::Doc::Declarator.new(...
返回使用 RakuAST
调用创建块所需的字符串。
对象创建§
很少直接创建 RakuAST::Doc::Declarator
对象。此文档适用于那些希望设计自己的方式以编程方式构建 RakuAST::Doc::Declarator
对象的少数人。
方法 new§
method new(Str :, # the associated RakuAST object:, # leading lines of documentation: # trailing lines of documentation)
可以调用 new
方法来创建新的 RakuAST::Doc::Declarator
对象。它只接受命名参数。
# there is no syntax for creating just a ::Declarator objectmy = RakuAST::Doc::Declarator.new(:WHEREFORE(RakuAST::VarDeclaration::Simple.new(...)),:leading("line 1 leading","line 2 leading"),:trailing("line 1 trailing","line 2 trailing"));
请注意,前导和尾随文档可能包含任何左边界空白。
:WHEREFORE§
此声明包含文档的 RakuAST
对象。
:leading§
带有前导文档字符串行的 Positional
。
:trailing§
带有尾随文档字符串行的 Positional
。
对象修改§
方法 set-WHEREFORE§
.set-WHEREFORE();
设置 RakuAST::Doc::Declarator
对象包含文档的对象。
方法 set-leading§
.set-leading; # reset.set-leading("foo", "bar");
设置前导文档。如果没有指定参数,则重置为没有前导文档。
方法 add-leading§
.add-leading("additional");
向前导文档添加一行。
方法 set-trailing§
.set-trailing; # reset.set-trailing("foo", "bar");
设置尾随文档。如果没有指定参数,则重置为没有尾随文档。
方法 add-trailing§
.add-trailing("additional");
向尾随文档添加一行。