Clojure中str和print-str之间的区别/关系

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

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

我用我的REPL尝试了一下,它表现得像我上面假设的那样,但我想知道它是否真的是这样,或者我漏了什么......

1个回答

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"]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接