[quads id=4]
Said we have a Loop like this:
(loop [remaining-parts STARTINGPARTS
RESULT [RESULTSTARTINGVALUE+TYPE]]
(if (IFCLAUSE)
FINALRESULTOUTPUT
(let [[head & tail] remaining-parts] ;; Splitting in Head & Tail
(recur tail
(DOSOMETHINGWITH head ...)))
)
)
First, we Split in “head & tail” the recursive Value using the “let” Function:
(let [[head & tail] remaining-parts] ;; Splitting in Head & Tail
Then with :
recur tail
The “tail” straight become the recursive Value and so in this case the “remaining-parts”