【发布时间】:2013-12-08 14:52:28
【问题描述】:
我无法从 Clojure-Contrib Graph 获取函数定点运行。诚然,这个问题是微不足道的。我尝试使用loading clojure-contrib 中显示的技术,但仍然遇到麻烦。
注意:我正在使用 Leiningin 启动 REPL。
这里是定点源代码:
(defn fixed-point
“反复对数据应用乐趣直到(等于旧数据新数据) 返回真。如果发生最大迭代,它将抛出一个 例外。将 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)))
除了“定点溢出”之外,我似乎无法从此函数获得输出。有人可以展示一个有效的例子。
【问题讨论】:
-
“麻烦”是什么意思。这很模糊。我们需要更多细节,例如异常。
-
我正在尝试在文本编辑器中使用定点编写一个函数,然后在 REPL 中运行该函数。但我不确定 Graph 是否需要依赖或使用 Maven...
-
@Alex 你是如何开始 REPL 的?您是使用命令行并手动设置类路径还是使用 leiningen?请编辑答案并包含您启动 REPL 所遵循的步骤,以便我们为您提供帮助。