Как получить PersistentList от минусов? - PullRequest
2 голосов
/ 24 февраля 2012

Я загружаю формы из файла, используя slurp, read и собираю их вместе для рекурсивного чтения всех форм в коллекцию.Затем захотите передать это в функцию scriptjure (js [& forms]), которая ожидает (list?), Но (cons) дает мне объект класса cl.Как я могу преобразовать (класс (минусы 1 '(2 3 4 5))) в IPersistentList?Спасибо!

1 Ответ

4 голосов
/ 25 февраля 2012

Используйте (apply list x) для создания list из последовательности x:

user=> (class (apply list (cons 1 '(2 3 4 5 6))))
clojure.lang.PersistentList

В качестве альтернативы, если вы начинаете со списка, а затем conj формы на нем, вы в конечном итогесо списком:

user=> (class (conj (list 1 2 3) 4))
clojure.lang.PersistentList

В этом случае cons не требуется, так как conj, при наличии списка, возвращает список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...