【发布时间】:2011-08-17 22:08:26
【问题描述】:
我有一些处理列表的函数。我有一个偶数函数,它接受一个列表参数并获取列表的偶数索引。奇函数做同样的事情,但索引奇数。我还有另一个合并两个排序列表的函数,称为合并列表,它接受两个列表作为参数。
问题出在我现在写的函数上:merge-sort。
这是我所拥有的:
(defn merge-sort [lis]
(if (empty? (rest lis))
lis
(merge-list (merge-sort (odd(lis))) (merge-sort (even(lis))))))))
由于某种原因,我不断收到错误
java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to clojure.lang.IFn
我可以像这样(odd(rest lis)) 传递奇函数rest lis(与偶数相同)。它运行良好,但这显然没有给我想要的解决方案。
我对 Clojure 非常陌生,因此我们将不胜感激任何提示。谢谢。
【问题讨论】:
-
你为什么编辑你的代码?现在没有人可以从你的经验中学习。我会重新编辑它,但也许你有原因。
-
你能发布你的代码吗?如果我们看不到您的代码,就很难准确判断您做错了什么。