从Clojure函数中捕获打印到out的惯用方法是使用with-out-str
。
with-out-str
是Clojure中的一个宏,它可以捕获在其内部执行的代码块中产生的任何输出,并将其作为字符串返回。这是一个常用的方法,可以让你在不直接打印到控制台的情况下捕获和处理Clojure函数中的输出。
例如,下面的代码将捕获(println "Hello, World!")
的输出,并将其存储在output
变量中:
(def output (with-out-str (println "Hello, World!")))
在这个例子中,output
将包含字符串"Hello, World!\n"
,其中包括了println
自动添加的换行符。
需要注意的是,with-out-str
只能捕获*out*
的输出,而不能捕获*err*
的输出。如果需要捕获错误输出,可以使用with-err-str
。
领取专属 10元无门槛券
手把手带您无忧上云