在REPL中抑制输出

m33*_*lky 3 clojure read-eval-print-loop

当调用返回内容的函数时,REPL打印输出.如何在不借助临时添加nil作为函数的最后一行的情况下抑制此打印?

Sam*_*tep 5

这很容易做到.例如,如果您有一个名为的函数f,那么如您所知,您可以这样调用它:

(f)
;; hello yes this is f
;;=> :huge
Run Code Online (Sandbox Code Playgroud)

但是如果你想忽略输出,你可以这样做:

(do (f) nil)
;; hello yes this is f
;;=> nil
Run Code Online (Sandbox Code Playgroud)

如果您愿意,还可以定义一个ignore函数来为您执行此操作:

(def ignore (constantly nil))

(ignore (f))
;; hello yes this is f
;;=> nil
Run Code Online (Sandbox Code Playgroud)