Раздел API Cheatsheet в списках, похоже, указывает, что '()
- это конструктор списка, как и (list)
, но я обнаружили, что на практике они не совсем то же самое. Например, данный:
(def foo "a")
(def bar "b")
(def zip "c")
Следующее утверждение:
(apply str '(foo bar zip))
выводит вывод "foobarzip", чего я не ожидал.
Но предположительно эквивалентный:
(apply str (list foo bar zip))
создает "abc", как я ожидал.
Что здесь происходит? Если есть "стенография" для списка в Clojure (например, {}
для карт и []
для векторов), что это такое?