В вашем примере вам не нужен вызов конкатенации строк для str
, потому что println
может принимать несколько аргументов.В Clojure 1.3.0 хорошо работает следующее:
user=> (println "items: " ["foo" "bar"])
items: [foo bar]
nil
Редактировать
Я перечитал вопрос и понял, что Отавио не былотолько намереваясь печатать, используя пример, чтобы проиллюстрировать свою проблему с печатью из str
, но также и то, что он намеревается передать сцепленные строки в println.
Вместо этого предложит следующее:
(println
(binding [*print-readably* nil]
(str "items: " ["foo" "bar"])))
Вывод:
items: [foo bar]
nil
Ссылки
Документы с веб-сайта Clojure в: Другие полезные функции и макросы":
"... *print-readably*
(по умолчанию true) привязано к nil, что заставляет строки печатать без окружающих кавычек или какой-либо кодировки escape-символов, а символы печатать без начального '\' или какой-либо кодировки escape-символов.«