似乎我无法使旧票据无效,所以我来试试
(take-nth 0 coll) 导致(至少在 Solaris 上)无限空间和时间消耗
这并非是打印错误,以下代码也会引起问题
(let [j 0
firstprod (apply * (doall (map #(- 1 %) (take-nth j (:props mix)))))]) ;来自我的参数更新函数
我使用了jvisualvm,jvm 正在进行一些 RNI 调用 - 完全没有运行 clojure 代码
如果让它单独运行,它将耗尽内存导致 JVM 崩溃
对于 take-nth,0 是一个无效的参数
即使它会产生无限个 nil 的惰性序列(虽然这是错误的),我也不介意
但它并没有这样做,它实际上破坏了 JVM
这是一个讨厌的破坏性 bug,我花了半天时间才弄清楚发生了什么
请让某人修复它!