Я могу повторить ваше сообщение об ошибке так:
(into {:v '[] :f '[]} [:v [:a :b]])
Я могу сделать то, что, по моему мнению, требует программа:
(assoc {:v '[] :f '[]} :v [:a :b])
;; => {:v [:a :b], :f []}
Здесь я просто использовал [:a :b]
вместо remaining
. В вашем случае remaining
- это последовательность чисел, но это не имеет значения.
Что касается сообщения об ошибке, то оно довольно плохое, его не следует использовать в следующих версиях Clojure. Обычно это потому, что вы представляете map
с ключевым словом, а не с чем-то, что может вызываться seq
. Здесь сообщение приходит откуда-то немного глубже, чем я могу понять.
Еще одна конструкция, которая будет работать, и я думаю, что вы хотели, это:
(into {:v '[] :f '[]} [[:v [:a :b]]])
into
карта требует последовательности ввода карты. Вы забыли обернуть одну запись карты, которую вы пытались поместить в карту. Результат из моего REPL:
{:v [:a :b], :f []}