gpt4 book ai didi

racket - 如何链接到程序的 Scribble 文档中的别名?

转载 作者:行者123 更新时间:2023-12-04 01:24:18 25 4
gpt4 key购买 nike

在为函数编写 Scribble 文档时,我想链接到一个内置函数,该函数与同一个 Scribble 文件中记录的不同函数同名。通常 @racketlink可用于此目的(与类似 prefix-in 的东西一起区分文档命名空间中的两个函数),但是当链接需要位于 @defproc 的参数部分时,这似乎不起作用形式。例如:

@defproc[(my-proc [f procedure? b:compose])
any/c]{

A procedure similar to @racketlink[b:compose]{compose}.

}

请注意上面b:compose 的两种用法。后一个指向 b:compose 的链接简单地呈现为 compose (正如预期的那样),但如果我在前一个实例中尝试相同的代码(在参数 block 中),它呈现为 (racketlink b:撰写“撰写”)。如何“转义”defproc 参数 block 中内容的字面处理?这与 Scribble 的“内容”和“前内容”概念以及“解码”过程有什么关系吗?

最佳答案

@racket[_]@defproc[_] 等形式让您可以使用 #,(读作 unsyntax) 以从代码排版 上下文中转义。所以你应该能够把你的例子写成

@defproc[(my-proc [f procedure? #, @racketlink[b:compose]{compose})
any/c]{ .... }

请注意 #,@ 之间的空格,以防止读者将整个序列阅读为 unsyntax-splicing。您还可以将组合写成 @#,,因为 @ 阅读器与 #, 等阅读器缩写的交互方式。

将前置内容(或前置流等)转换为内容(或流等)的解码步骤是无关的。参见 the docs for scribble/decode .

关于racket - 如何链接到程序的 Scribble 文档中的别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62162688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com