Intellij idea 如何在IntelliJ中调试Clojure文件?

Intellij idea 如何在IntelliJ中调试Clojure文件?,intellij-idea,clojure,la-clojure,Intellij Idea,Clojure,La Clojure,第5行包含[x],不能设置断点 IntelliJ不会让我这么做的。我使用了不同的插件,比如和。两者都停在3号线而不是5号线 那么,人们是如何进入Clojure的代码的呢 是否有任何语法建议或可能的工具来帮助 (defn flattenlist ([x & more] (concat (if (vector? x) (apply flattenlist x) [x] ) (i

第5行包含
[x]
,不能设置断点

IntelliJ不会让我这么做的。我使用了不同的插件,比如和。两者都停在3号线而不是5号线

那么,人们是如何进入Clojure的代码的呢

是否有任何语法建议或可能的工具来帮助

(defn flattenlist
  ([x & more]
    (concat (if (vector? x)
              (apply flattenlist x)
              [x]
            )
            (if (= more nil)
              nil
              (apply flattenlist more))))
  )
(flattenlist [[1 [[2]]] 3 [4 5] 6])

首先,按照惯例,所有尾随括号都在同一行上,如下所示:

(defn flattenlist
  ([x & more]
   (println x)
   (concat (if (vector? x)
             (apply flattenlist x)
             [x])
           (if (= more nil)
             nil
             (apply flattenlist more)))))

(flattenlist [[1 [[2]]] 3 [4 5] 6])
其次,当您使用可组合函数时,插入println并仅运行/测试该函数很容易,因为它是引用透明的。我只是一个Clojure爱好者,但我通常使用println和单元测试进行调试。使用断点并不是很可靠


如果你真的想要类似于设置断点的东西,你可以尝试使用(不是我的)。

是的,我认为打印是正确的方法。Ricky使用与我相同的ide。相同的位置。