如果我有一个打印到(current-output-port)
的功能,是否有一种简单的方法可以在不打印到输出端口的情况下运行该功能?
以前,我使用/dev/null
作为输出目标:
(with-output-to-file "/dev/null" #:exists 'append
(lambda () (displayln "hello world")))
这很容易,但取决于平台。此外,我有时会忘记#:exists
旗帜。
答案 0 :(得分:6)
是的!使用open-output-nowhere
中的racket/port。
(parameterize ([current-output-port (open-output-nowhere)])
(displayln "hello world"))
如果您想隐藏错误输出,请改为覆盖current-error-port
。