prn

added
1.0

ns
clojure.core

type
function

(prn & more)

Same as pr followed by (newline). Observes *flush-on-newline*

                user=> (prn "fred" 1)
"fred" 1
nil

user=> (def items [ "hello" :a 1 (list :b 2) \\c {:d 4} #{5 6 7} ])
#'user/items

; prn outputs items in a machine-readable format, such as in a source
; file. Note the double-quotes around the string "hello" and the escaped letter "c".
user=> (prn items)
["hello" :a 1 (:b 2) \\c {:d 4} #{5 6 7}]
nil

; println is for human-readable output, like a report. Note the lack of quotes around the string "hello", and the unescaped letter "c". 
user=> (println items)
[hello :a 1 (:b 2) c {:d 4} #{5 6 7}]
nil

; pr-str produces a string with escaped punctuation, so that println yields the same result as the original prn call.
user=> (println (pr-str items))
["hello" :a 1 (:b 2) \\c {:d 4} #{5 6 7}]
nil