我正在使用 Windows 7 中的 DrRacket 完成 EOPL 方案练习。当我从 #lang racket 切换到 #lang eopl 时,定义窗格的输出不再显示在交互窗格中。要清楚,作为一个简单的例子,运行
#lang 球拍 4生产
4 >如您所料。但是跑步
#lang eopl 4只生产
>我可以做些什么来改变这种行为,或者是否有另一个窗格我应该查看输出?当然,我可以在交互窗格中计算表达式并查看输出,但是当我有多个要计算多次的表达式时,这很乏味。
一种可能的解决方法:在定义窗格中打印值,以便它显示在交互窗格中。并用于newline
分隔行:
(write 4)
(newline)
(write 2)
> 4
> 2
当然,如果要显示多个值会很乏味,但这是一种改进。
看起来像#lang eopl
uses #%plain-module-begin
,它不打印结果,而不是#%module-begin
,它打印结果。
要快速切换,请创建以下文件,其中包含以下内容:
eopl-printing.rkt
:
#lang racket
(require (except-in eopl #%module-begin))
(provide (all-from-out eopl))
(provide #%module-begin)
然后将其用作另一个文件中的语言:
#lang s-exp "eopl-printing.rkt"
1
2
3
在我的 DrRacket 中产生:
Welcome to DrRacket, version 5.3.4.6 [3m].
Language: s-exp "eopl-printing.rkt" [custom].
1
2
3
>
警告:如果eopl
出于某种原因隐藏了结果,那么您可能会得到一些虚假的输出,但我不确定。