【发布时间】:2011-09-13 02:48:48
【问题描述】:
来自命令式编程语言,我试图围绕 Clojure 进行研究,希望将其用于多线程功能。
4Clojure 的问题之一是编写一个函数,该函数生成一个长度为 N 的斐波那契数列表,对于 N > 1。我写了一个函数,但鉴于我的背景有限,我想了解一下这是否是最好的 Clojure 做事方式。代码如下:
(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))))
))
【问题讨论】:
标签: clojure refactoring fibonacci