如果我有一个打印到(current-output-port)
的函数,有没有一种简单的方法可以在不打印到输出端口的情况下运行该函数?
以前,我使用/dev/null
作为输出目标:
(with-output-to-file "/dev/null" #:exists 'append
(lambda () (displayln "hello world")))
这很简单,但取决于平台。此外,我有时会忘记#:exists
标志。
是!从球拍/端口使用open-output-nowhere
。
(parameterize ([current-output-port (open-output-nowhere)])
(displayln "hello world"))
如果要隐藏错误输出,请替代current-error-port
。