【发布时间】:2014-12-11 23:39:21
【问题描述】:
所以我正在与 DrRacket 合作,因为我正在通过 #lang scribble 为我的程序制作手册,所以我想提供使用 @interactions 运行的程序的实际示例到目前为止,我已经掌握了这一部分:
#lang scribble/manual
@(require (for-label racket))
@(require scribble/eval racket/sandbox)
@(define my-evaluator
(parameterize ([sandbox-output 'string]
[sandbox-error-output 'string])
(make-evaluator 'racket/base '(define (f) later) '(define later 5))))
当我这样做时
@interaction[#:eval my-evaluator]{
@(f)
}
然后我运行scribble --htmls ++main-xref-in manual.scrbl,它正确呈现为:
> (f)
5
有没有办法使用我的所有定义(位于不同文件中)来使用 scribble 进行评估?我尝试将第 7 行更改为:
(make-evaluator 'racket/base '(define (f) later) '(define later 5) #:require "mydefs.rkt")))
但是当我尝试渲染它时,它会抛出这样的东西:
make-evaluator: bad requires: "mydefs.rkt"
我不想在make-evaluator 部分复制粘贴我的定义(它们很多!)有什么解决办法吗?谢谢敲诈者!
【问题讨论】:
标签: stored-procedures racket expression-evaluation scribble