球拍相当于/ dev/null?

Ben*_*man 6 racket

如果我有一个打印到的功能,(current-output-port)有没有一种简单的方法来运行该函数而不打印到输出端口?

以前,我用作/dev/null输出目标:

(with-output-to-file "/dev/null" #:exists 'append
  (lambda () (displayln "hello world")))
Run Code Online (Sandbox Code Playgroud)

这很容易,但取决于平台.我有时会忘记#:exists国旗.

Ben*_*man 6

是! 使用open-output-nowhere球拍/端口.

(parameterize ([current-output-port (open-output-nowhere)])
  (displayln "hello world"))
Run Code Online (Sandbox Code Playgroud)

如果要隐藏错误输出,请current-error-port改为覆盖/也.