Ответ 1
Они различаются следующими способами.
-
print
/println
производить продукцию, предназначенную для потребления человеком. -
pr
/prn
выводят вывод, который читает читатель.
Таким образом, используйте прежние функции при производстве выходных данных для людей, а второй - для выпуска данных для других программ Clojure, которые будут потребляться.
В случае pr
/prn
строки будут процитированы, а специальные символы экранированы. Символы также будут экранированы вне строк.
Например:
=> (println "Hello\nworld" \!)
Hello
world !
=> (prn "Hello\nworld" \!)
"Hello\nworld" \!