3

我正在使用 Windows 7 中的 DrRacket 完成 EOPL 方案练习。当我从 #lang racket 切换到 #lang eopl 时,定义窗格的输出不再显示在交互窗格中。要清楚,作为一个简单的例子,运行

    #lang 球拍
    4
生产
    4
    >  
如您所料。但是跑步
    #lang eopl
    4
只生产
    >
我可以做些什么来改变这种行为,或者是否有另一个窗格我应该查看输出?当然,我可以在交互窗格中计算表达式并查看输出,但是当我有多个要计算多次的表达式时,这很乏味。

4

2 回答 2

2

一种可能的解决方法:在定义窗格中打印值,以便它显示在交互窗格中。并用于newline分隔行:

(write 4)
(newline)
(write 2)

> 4
> 2

当然,如果要显示多个值会很乏味,但这是一种改进。

于 2013-05-19T18:32:55.263 回答
1

看起来像#lang eopluses #%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出于某种原因隐藏了结果,那么您可能会得到一些虚假的输出,但我不确定。

于 2013-05-20T05:41:03.107 回答