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