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

时间:2013-07-19 00:28:58

标签: clojure

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

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

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

1 个答案:

答案 0 :(得分: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"]