Я пытаюсь реализовать Land of Lisp's Dice of Doom игру , и я получаю Don't know how to create ISeq from: clojure.lang.PersistentList$1
.
Это происходит при вызове моей add-new-dice
функции:
(defn add-new-dice [board player spare-dice]
(letfn [(f [lst n]
(cond (empty? lst) nil
(zero? n) lst
:else (let [current-player (first (first lst))
current-dice (first (rest (first lst)))]
(if (and (= current-player player) (< current-dice *max-dice*))
(cons (list current-player (+ current-dice 1))
(f (rest lst) (- n 1)))
(cons (first lst) (f (rest list) n))))))]
(f board spare-dice)))
с этим:
(add-new-dice '[(0 1) (1 3) (0 2) (1 1)] 0 2)
Я делаю это в основном для ознакомления с кодом CL и получения опыта переноса его на Clojure.
Если кто-нибудь может дать мне какой-нибудь совет, это будет оценено.