Por que a funcao recur é chamada com dois parametros sendo que a funcao soma só recebe um parametro?
(defn soma[n]
(loop [contador 1 soma 0]
(if (> contador n) soma
(recur (inc contador) (+ soma contador)))))
Por que a funcao recur é chamada com dois parametros sendo que a funcao soma só recebe um parametro?
(defn soma[n]
(loop [contador 1 soma 0]
(if (> contador n) soma
(recur (inc contador) (+ soma contador)))))
Pelo que eu entendi, o recur está chamando chamando o loop com novos valores (contador e soma) e não a função.
Exatamente, acontece que pelo que entendi o recur, chama a mesma função soma, e já que a função soma só recebe um parâmetro. Aqui tem recur mais dois parâmetros... e esse código está funcionando. Isso que não entendi