You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Scribble文件中引入非Racket语言的外部源代码文件?

最简实现Scribble引入外部代码文件的方案

别依赖第三方库了,直接用Racket原生功能写个极简宏就能搞定,完全避开特殊字符引发的异常:

  • 先在Scribble文档开头添加这段代码,定义自定义宏:
    (require scribble/base)
    
    (define (@include-verbatim stx)
      (syntax-case stx ()
        [(_ path)
         #`(verbatim #,(file->string (syntax-e #'path)))]))
    
  • 之后引入外部代码文件时,直接调用这个宏即可:
    @include-verbatim["path/to/your/code.ext"]
    

这个方案直接读取文件原始内容并传递给@verbatim,没有额外的解析逻辑,因此不会受文件中的特殊字符序列影响。如果目标文件使用非默认编码,只需给file->string添加编码参数,例如:

(file->string (syntax-e #'path) #:encoding 'utf-8)

内容的提问来源于stack exchange,提问作者Daniel Patterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 06:01:27