什么scribble/text
是它开始以“文本”模式at-exp
读取文件,而开始以“球拍”模式读取文件。在这里捣乱#%top
不是你想要的。要执行与 相同的操作scribble/text
,您需要一个at-exp
以文本模式启动的版本。不过,那还不存在。
函数read-syntax-inside
fromscribble/reader
执行此操作。但是,您必须定义自己的#lang
语言来使用它。为此,您可能会发现此文档很有帮助,但没有快速的答案。
更新:
我查看了 的实现scribble/text
,答案似乎比我想象的要快得多。像这样的东西应该工作:
my-library/lang/reader.rkt
:
#lang s-exp syntax/module-reader
my-library/main
#:read scribble:read-inside
#:read-syntax scribble:read-syntax-inside
#:whole-body-readers? #t
#:info (scribble-base-reader-info)
(require (prefix-in scribble: scribble/reader)
(only-in scribble/base/reader scribble-base-reader-info))
测试它:
#lang my-library
This is text
@(list 'but 'this 'is 'not)
我通过my-library/main.rkt
重新提供从racket/base
.