Clojure中str和print-str之间的差异/关系

Jay*_*don 4 clojure

我正在阅读Volkmann的Clojure教程,在该教程中它说函数print-str将内容打印到返回的字符串.这是否意味着:

(print-str a b c ... ) == (str a " " b " " c " " ... )

我尝试使用我的REPL,它表现得像我上面假设的那样,但我只是想知道它是不是真的,或者我在这里遗漏了一些东西......

A. *_*ebb 5

如果要求评估参数,该函数print-str将返回类似于 REPL将报告的字符串,例如供人类消费.该函数str调用.toString对象的内容.在字符串参数的情况下,结果与您指出的相同.

对于其他对象,这通常不正确

 ((juxt print-str str) 1N) 
 ;=> ["1N" "1"]

((juxt print-str str) (java.util.Date.))
;=> ["#inst \"2013-07-19T01:47:00.784-00:00\"" "Thu Jul 18 20:47:00 CDT 2013"]
Run Code Online (Sandbox Code Playgroud)