尝试使用Clojure Contrib图形函数
我无法从Clojure Contrib Graph运行函数定点。诚然,这个问题微不足道。我曾尝试使用中显示的技术,但仍遇到麻烦 注意:我正在使用Leiningin启动REPL 以下是定点的源代码:尝试使用Clojure Contrib图形函数,clojure,clojure-contrib,Clojure,Clojure Contrib,我无法从Clojure Contrib Graph运行函数定点。诚然,这个问题微不足道。我曾尝试使用中显示的技术,但仍遇到麻烦 注意:我正在使用Leiningin启动REPL 以下是定点的源代码: (defn fixed-point “重复对数据应用乐趣,直到(等于旧数据和新数据) 返回true。如果出现最大迭代次数,它将抛出 异常。对于无限次迭代,请将max设置为nil。“ 除了“定点溢出”之外,我似乎无法从这个函数中获得输出。有人能给出一个有效的例子吗 clojure.contrib.gr
(defn fixed-point
“重复对数据应用乐趣,直到(等于旧数据和新数据)
返回true。如果出现最大迭代次数,它将抛出
异常。对于无限次迭代,请将max设置为nil。“
除了“定点溢出”之外,我似乎无法从这个函数中获得输出。有人能给出一个有效的例子吗
clojure.contrib.graph
没有活动的mantainer,因此此后从未迁移过
如果您仍然使用Clojure1.2,那么您应该能够使它工作,否则1.3还有一个替代方案,但它已经安静了一段时间
您应该检查您的项目.clj
是否存在以下情况:
- 正确的clojure版本
- 正确的依赖项声明
如果仍然有问题,请在此处粘贴异常。您所说的“麻烦”是什么意思。这很模糊。我们需要更多的细节,比如异常。我正在尝试在文本编辑器中使用定点编写函数,然后在REPL中运行该函数。但我不确定Graph是否需要依赖项,或者使用Maven…@Alex您如何启动REPL?您是使用命令行手动设置类路径还是使用leiningen?请编辑答案,并包括启动REPL所遵循的步骤,以便我们可以帮助您。我使用的是1.5.1。这个版本我运气不好吗?确实,试试clj图形或降级到1.2
[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)))