IntellijでClojureファイルをデバッグする方法?
-
20-12-2019 - |
質問
LINE 5にブレークポイントを設定することはできません。
Intellijは私にそうさせないようにしてください。私は la clojure と cursive 。両方とも2行目ではなく3行目に停止します。
だから、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 Hobbyistだけですが、私は通常PrintLNと単体テストでデバッグします。ブレークポイントを使用することは、それほど信頼できるものではありません。
ブレークポイントを設定するのに似たものが本当に欲しいのなら、このデバッグマクロ(ではありません)鉱山)
所属していません StackOverflow