質問

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と単体テストでデバッグします。ブレークポイントを使用することは、それほど信頼できるものではありません。

ブレークポイントを設定するのに似たものが本当に欲しいのなら、このデバッグマクロ(ではありません)鉱山)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top