Clojure IndexOutOfBoundsException

克里斯
((fn [coll] (letfn [(add-item [acc coll idx] 
                              (conj acc (nth coll idx)))

                    (add-group [acc coll] 
                               (conj acc (create-group coll)))

                    (decrease-coll [coll acc] 
                                   (drop (count (last acc)) coll))

                    (not-group-member? [idx coll] 
                                       (not= (first coll) (nth coll idx)))

                    (out-of-bounds? [idx coll] 
                                    (or (empty? coll) (> idx (count coll))))

                    (create-group [coll] (loop [idx 0 
                                                coll coll
                                                acc []]
                                           (if (or (out-of-bounds? idx coll)
                                                   (not-group-member? idx coll))
                                             acc
                                             (recur (inc idx) coll (add-item acc coll idx)))))
                    (process-coll [coll] (loop [coll coll
                                                acc []]
                                           (if (empty? coll)
                                             acc
                                             (recur (decrease-coll coll acc) 
                                                    (add-group acc coll)))))] 
                    (process-coll coll))) [1 1 2 1 1 1])

当我尝试运行此程序时,我收到

java.lang.IndexOutOfBoundsException: null
             RT.java:795 clojure.lang.RT.nthFrom
             RT.java:764 clojure.lang.RT.nth
 /clojure/scratch-work-4clojure.clj:13 user/eval10378[fn]
 /clojure/scratch-work-4clojure.clj:22 user/eval10378[fn]
 /clojure/scratch-work-4clojure.clj:7 user/eval10378[fn]
 /clojure/scratch-work-4clojure.clj:30 user/eval10378[fn]
 /clojure/scratch-work-4clojure.clj:31 user/eval10378[fn]
 /clojure/scratch-work-4clojure.clj:3 user/eval10378

我已经尝试调试了一段时间。我将其分解为几个函数,以试图找出导致错误的原因,但仍无法确定它。对于造成此错误的原因以及将来如何在Clojure中调试此类错误的任何帮助,将不胜感激。

迭戈·巴什(Diego Basch)

您的out-of-bounds?支票错了。您想要> =而不是>。索引从0到n-1。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Clojure IndexOutOfBoundsException

来自分类Dev

获取IndexOutofBoundsException

来自分类Dev

意外的IndexOutOfBoundsException

来自分类Dev

RecyclerView IndexOutOfBoundsException

来自分类Dev

获取IndexOutofBoundsException

来自分类Dev

Graphics的IndexOutOfBoundsException

来自分类Dev

IndexOutOfBoundsException抛出的UndeclaredThrowableException

来自分类Dev

Java ArrayList避免IndexOutOfBoundsException

来自分类Dev

notifyDataSetChanged()导致IndexOutOfBoundsException

来自分类Dev

ArrayList Java中的IndexOutOfBoundsException

来自分类Dev

WindowManagerGlobal的setStoppedState内部的IndexOutOfBoundsException

来自分类Dev

Java ArrayList避免IndexOutOfBoundsException

来自分类Dev

InputFilter内的IndexOutOfBoundsException

来自分类Dev

IndexOutofBoundsException:我无法解决

来自分类Dev

IndexOutOfBoundsException而不是结束循环

来自分类Dev

Object []声明中的IndexOutOfBoundsException

来自分类Dev

在游戏之间获取 IndexOutOfBoundsException

来自分类Dev

IndexOutOfBoundsException 不访问数组

来自分类Dev

ChildEventListener 导致 IndexOutOfBoundsException

来自分类Dev

ArrayList的设置方法抛出IndexOutOfBoundsException

来自分类Dev

ArrayList添加方法抛出IndexOutOfBoundsException

来自分类Dev

了解Android中的Arraylist IndexOutOfBoundsException

来自分类Dev

DatagramChannel.receive()导致IndexOutOfBoundsException

来自分类Dev

删除元素后Arraylist IndexOutOfBoundsException

来自分类Dev

元素的ArrayList链接并获取IndexOutOfBoundsException

来自分类Dev

从ArrayList中删除整数IndexOutOfBoundsException

来自分类Dev

映射时发生Scala:IndexOutOfBoundsException

来自分类Dev

DatagramChannel.receive()导致IndexOutOfBoundsException

来自分类Dev

为什么会收到IndexOutofBoundsException?

Related 相关文章

热门标签

归档