如何在没有引出输出的情况下运行Racket程序?

时间:2016-09-05 19:57:01

标签: scheme racket

我有一个基本的球拍程序:

hello.rkt

(write "Hello, World!")

当我使用racket -f hello.rkt运行它时,我得到以下输出:

"Hello, World!"

是否有特殊的编译器标志或特殊版本的“write / print”从字符串输出中删除引号,以便显示:

Hello, World!

2 个答案:

答案 0 :(得分:7)

write函数是read的双重函数:它输出(或至少尝试输出)可能为read的基准以产生原始值。根据我的经验,即使是为了这个目的,它通常也不是非常有用,但是当你进行调试时它会很有用。

对于实际输出,您想要的功能是display。这将实际数据本身输出到输出端口,而不是它的格式化表示。

为了完整性,Racket还有一个名为print的附加打印功能。与displaywrite不同,print明确设计用于调试。它的输出可以通过各种不同的参数进行定制,因此输出格式使用它不一定是可预测的,并且不应该用于除调试之外的任何其他内容。不过,为了这个目的,它非常有用。

答案 1 :(得分:4)

使用display代替write