我有一个基本的球拍程序:
hello.rkt :
(write "Hello, World!")
当我使用racket -f hello.rkt
运行它时,我得到以下输出:
"Hello, World!"
是否有特殊的编译器标志或特殊版本的“write / print”从字符串输出中删除引号,以便显示:
Hello, World!
答案 0 :(得分:7)
write
函数是read
的双重函数:它输出(或至少尝试输出)可能为read
的基准以产生原始值。根据我的经验,即使是为了这个目的,它通常也不是非常有用,但是当你进行调试时它会很有用。
对于实际输出,您想要的功能是display
。这将实际数据本身输出到输出端口,而不是它的格式化表示。
为了完整性,Racket还有一个名为print
的附加打印功能。与display
和write
不同,print
明确设计用于调试。它的输出可以通过各种不同的参数进行定制,因此输出格式使用它不一定是可预测的,并且不应该用于除调试之外的任何其他内容。不过,为了这个目的,它非常有用。
答案 1 :(得分:4)
使用display
代替write
。