RakuAST::Doc::DeclaratorTarget
角色由支持前导和尾随文档的对象完成。
对 RakuAST
功能的支持在语言版本 6.e+
中可用,并在 Rakudo 编译器版本 2023.02 中添加。在早期语言版本中,仅在指定时可用
use experimental :rakuast;
对象内省§
执行 RakuAST::Doc::DeclaratorTarget
角色的对象通常在解析 Raku 编程语言代码时创建,用于允许在其上放置前导 (#|
) 和尾随 (#=
) 文档的对象。因此,大多数开发人员只需要知道如何内省所创建的对象即可。
方法 WHY§
with .WHY
返回包含声明符文档(如果有)的 RakuAST::Doc::Declarator
对象。
对象创建§
执行 RakuAST::Doc::DeclaratorTarget
角色的每个对象都有其自己的创建原因。因此,这里无法对此进行概括。
对象修改§
方法 set-WHY§
.set-WHY();
设置要关联的 RakuAST::Doc::Declarator
对象。
方法 cut-WHY§
my := .cut-WHY;
删除 RakuAST::Doc::Declarator
对象(如果有)。旨在在反解析/字符串化时使用,以防止无限循环,因为 RakuAST::Doc::Declarator
对象指向其目标,反之亦然。通常在原始目标的克隆上调用。
方法 set-leading§
.set-leading; # reset.set-leading("foo", "bar");
设置前导文档。如果未指定任何参数,则重置为没有前导文档。创建一个 RakuAST::Doc::Declarator
对象,并在 .WHY
中设置它(如果尚未设置)。
方法 add-leading§
.add-leading("additional");
向前导文档添加一行。创建一个 RakuAST::Doc::Declarator
对象,并在 .WHY
中设置它(如果尚未设置)。
方法 set-trailing§
.set-trailing; # reset.set-trailing("foo", "bar");
设置尾部文档。如果未指定任何参数,则重置为无任何尾部文档。创建一个 RakuAST::Doc::Declarator
对象,如果尚未存在,则将其设置在 .WHY
中。
方法 add-trailing§
.add-trailing("additional");
向尾部文档添加一行。创建一个 RakuAST::Doc::Declarator
对象,如果尚未存在,则将其设置在 .WHY
中。