Clojure печать списка без круглых скобок?
Есть ли встроенная функция для печати элементов списка без скобок верхнего уровня или будет лучший способ записи
(defn println-list
"Prints a list without top-level parentheses, with a newline at the end"
[alist]
(doseq [item alist]
(print (str item " ")))
(print "\n"))
чтобы получить вывод
user=> (println-list '(1 2 3 4))
1 2 3 4
nil
Ответы
Ответ 1
Что-то вроде этого?
(apply println '(1 2 3 4 5))
1 2 3 4 5
nil
Из Clojure docs для apply
:
Usage: (apply f args)
(apply f x args)
(apply f x y args)
(apply f x y z args)
(apply f a b c d & args)
Applies fn f to the argument list formed by prepending intervening
arguments to args.
Ответ 2
в clojure -contrib.string у вас есть функция join,
user=> (require '[clojure.contrib.string :as string])
nil
user=> (string/join " " '(1 2 3 4 4))
"1 2 3 4 4"
user=> (println (string/join " " '(1 2 3 4 4)))
1 2 3 4 4
nil