DrRacket EOPL Scheme输出

时间:2013-05-19 18:26:35

标签: scheme racket

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

    #lang racket
    4
按照您的预期生成
    4
    >  
。但跑步     
    #lang eopl
    4
只生成
    > 
我有什么办法可以改变这种行为,还是有另一个窗格我应该查看输出?当然,我可以在交互窗格中评估表达式并查看输出,但是当我有多个要多次评估的表达式时,这很乏味。

2 个答案:

答案 0 :(得分:2)

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

(write 4)
(newline)
(write 2)

> 4
> 2

当然,如果你想显示很多值,那将会很乏味,但这是一个改进。

答案 1 :(得分:1)

看起来#lang eopl使用不会打印结果的#%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
> 

CAVEAT:如果eopl因某种原因隐藏了结果,那么您可能会得到一些虚假的输出,但我不确定。