eval适用于命令行,但不适用于脚本文件

时间:2017-02-14 16:10:08

标签: scheme racket

简单的'eval'语句在DrRacket的命令行上运行良好(如https://docs.racket-lang.org/guide/eval.html所述):

> (eval '(+ 1 2))
3

但是,如果保存在脚本文件(DrRacket的主要区域)并运行,则会产生错误:

#lang racket

(eval '(+ 1 2))

错误:

+: unbound identifier;
 also, no #%app syntax transformer is bound in: +
> 

问题出在哪里?

1 个答案:

答案 0 :(得分:1)

在Racket中,这是在脚本中运行1 2 3 4 5 6 7 的正确方法:

eval

请参阅documentation