问题
What is the difference between pr
/prn
and print
/println
?
When would one be used over the other?
回答1:
They differ in the following ways.
print
/println
produce output intended for human consumptionpr
/prn
produce output that may be read by the reader
So use the former functions when producing output for humans, and the latter for when producing output for other Clojure programs to consume.
In the case of pr
/prn
, strings will be quoted, and special characters escaped. Characters will also be escaped outside of strings.
For example:
=> (println "Hello\nworld" \!)
Hello
world !
=> (prn "Hello\nworld" \!)
"Hello\nworld" \!
来源:https://stackoverflow.com/questions/21136766/clojure-printing-functions-pr-vs-print