我想在eval中使用特定的#lang来为它提供语义.但是,eval本身似乎没有指定语言的机制,并且传入#lang似乎不起作用.
你可以使用make-module-evaluatorfrom racket/sandbox.
> (require racket/sandbox)
> (define evaluator (make-module-evaluator "#lang racket/base"))
> (evaluator '(+ 1 2))
3
> (evaluator "(+ 1 2)")
3
Run Code Online (Sandbox Code Playgroud)