我无法从Clojure-Contrib Graph中获取函数定点来运行。不可否认,问题是微不足道的。我试图使用loading clojure-contrib中显示的技术但仍遇到麻烦。
注意:我正在使用Leiningin来启动REPL。
以下是定点的源代码:
(defn fixed-point
“反复对数据应用乐趣(等于旧数据新数据) 返回true。如果发生最大迭代,它将抛出一个 例外。将max设置为nil以进行无限次迭代。“
[data fun max equal]
(let [step (fn step [data idx]
(when (and idx (= 0 idx))
(throw (Exception. "Fixed point overflow")))
(let [new-data (fun data)]
(if (= data new-data)
new-data
(recur new-data (and idx (dec idx))))))]
(step data max)))
除了“定点溢出”之外,我似乎无法从此函数获得输出。有人可以展示一个有效的例子。
答案 0 :(得分:1)
clojure.contrib.graph
没有活跃的mantainer,因此在1.2 clojure.contrib mega split之后从未迁移过。
如果你仍在使用Clojure 1.2,你应该能够使它工作,否则1.3的替代clj-graph here,但已经安静了一段时间。
你应该检查你的project.clj
:
如果仍有问题,请在此处粘贴例外。