Очистка функции Clojure

, исходя из императивных языков программирования, я пытаюсь обернуть голову вокруг Clojure, надеясь, что используя его для его многопоточных возможностей.
Одна из проблем из 4Clojure - написать функцию, которая генерирует список чисел фибоначчи длиной n, для n> 1. Я написал функцию, но учитывая мой ограниченный фон, я бы хотел какой-то вход Независимо от того, является ли это лучший сложный способ делать вещи. Код выглядит следующим образом:

(fn fib [x] (cond 
               (= x 2) '(1 1)
            :else   (reverse (conj (reverse (fib (dec x))) (+ (last (fib (dec x))) (-> (fib (dec x)) reverse rest first))))
          ))

5
задан rtruszk 23 December 2014 в 20:36
поделиться