我正在阅读Volkmann's Clojure tutorial,在该教程中,它说函数 print-str 将内容打印到返回的字符串。这是否意味着:
(print-str a b c ... )
== (str a " " b " " c " " ... )
我尝试使用我的REPL,它表现得像我上面假设的那样,但我只是想知道它是不是真的,或者我在这里遗漏了一些东西......
答案 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"]