Replコンソールで多くのコードを試してみましたが、どうすればクリアできますか?再起動せずに新しいものをお願いします。それはできますか?
宣言したすべての一時変数と関数の現在の名前空間をクリアしたい場合は、この1つのライナーを使用できます(またはその関数を作成します)。
(map #(ns-unmap *ns* %) (keys (ns-interns *ns*)))
または
(ns myutil)
(defn ns-clean
"Remove all internal mappings from a given name space or the current one if no parameter given."
([] (ns-clean *ns*))
([ns] (map #(ns-unmap ns %) (keys (ns-interns ns)))))
(ns mytest)
... make loads of junk ...
(myutil/ns-clean)
... great!!! I can now make all new junk ...
それはあなたにきしむクリーンな名前空間を与えると主張していません、通常典型的なreplセッションで蓄積するジャンクの少ないものだけです。
注意して使用してください:足の下から敷物を引っ張らないでください!
ターミナルウィンドウでreplを実行している場合(例:MacOSのTerminal.appまたはLinuxのxterm/aterm/urxvtなど)、次のように入力できますControl-Lこれでターミナルウィンドウがクリアされ、新しいreplプロンプトを表示します。ただし、以前に定義したすべてのマクロ/アトムは引き続きメモリ内にあるため、これは単なる「化粧品」のクリアです。
EMACS/slime REPLでC-c C-oは最後の出力をクリアします(非常に長い回答を与える何かを入力した場合)C-c M-oはすべてをクリアします
GNOMEターミナルでは、メニューオプションのターミナル/リセットとクリアがあります。
バッファ全体をクリーンアップするショートカット: C-uC-cC-o
最後の出力をきれいにするショートカット: C-cC-o
注、古い方法は: C-cM-o
また、cider-repl-clear-buffer
(バインドされている C-ENTERs-c 私のマシンで)
Emacsコマンドcider-repl-clear-buffer
を使用して M-x。プレフィックス引数を付けてcider-repl-clear-output
を使用することもできます。 C-u C-c C-o。
それはあなたが「クリーン」で何を意味するかによる。 「パッケージ」内のすべての名前空間を削除するには、次を使用できます。
(mapv remove-ns
(map symbol
(filter #(.startsWith % "org.mycompany")
(map str (all-ns)))))