如何使用 pod 生成编号列表?

Ste*_*ieD 5 raku pod6

查看https://docs.raku.org/language/pod#Lists。我没有找到创建编号列表的方法:

有没有一种无证的方法可以做到这一点?

cod*_*ons 5

目前(截至 2022 年 1 月)还没有在 Pod6 中使用有序列表的实现方法。

历史设计文档包含用于有序列表的 Pod6 语法,据我所知,这仍然是我们想要添加的内容。一旦实现了该语法,您将能够编写如下内容:

=item1 # Animal 
=item2    # Vertebrate 
=item2    # Invertebrate 
 
=item1 # Phase 
=item2    # Solid 
=item2    # Liquid 
=item2    # Gas
Run Code Online (Sandbox Code Playgroud)

这将产生如下输出:

1. Animal 
   1.1     Vertebrate 
   1.2     Invertebrate 
 
2. Phase 
   2.1     Solid 
   2.2     Liquid 
   2.3     Gas
Run Code Online (Sandbox Code Playgroud)

(尽管渲染列表的确切语法将取决于 Pod 渲染器的实现。)

但在实现之前,没有任何方法可以使用 Pod6 语法来创建有序列表。

编辑:

我刚刚检查了实际解析的 Pod6,看起来(令我惊讶的是)我上面显示的有序列表语法实际上在内部解析的。例如,say $=pod[5].raku使用 Pod6 运行会显示以下内容(基于行=item2 # Liquid):

1. Animal 
   1.1     Vertebrate 
   1.2     Invertebrate 
 
2. Phase 
   2.1     Solid 
   2.2     Liquid 
   2.3     Gas
Run Code Online (Sandbox Code Playgroud)

这样解析工作就完成了;只是Pod::To::_渲染器需要添加支持。(甚至可能有一些支持。但是,我确实知道 RakudoPod::To::Text和 Raku Pod::To::HTML(v0.8.1) 目前都不会渲染有序列表。)

解决方法

根据您的目标输出格式,您当然可以自己编写有序列表(如果您要渲染为纯文本,则非常容易,如果您要打印为 HTML,则更烦人)。当然,这确实牺牲了 Pod6 的多输出格式支持,而这是其关键功能之一。

对于不牺牲 Pod 多输出特性的解决方法,您可能需要研究以编程方式操作/重新格式化 Pod 文本。如果您这样做,首先要阅读的文档是关于访问 Pod 的Pod6 部分和关于DOC Phaser的(不幸的是非常短)部分。