6

タスクをエージェントに送信しましたが、関数に入力したprintステートメントの出力が表示されません。エージェントでのコード実行を追跡するにはどうすればよいですか?

編集:コンソールでは出力を取得しますが、SLIMEでは取得しません。ここでの問題は、SLIMEで出力を確認する方法です。

4

2 に答える 2

5

重要なのは、シェルからlein swankを呼び出すのではなく、劣ったlispプロセスとしてemacsからswankを開始することです。これを行う1つの方法は、eleinを使用することです(コマンドはM-x elein-swank)。次に、下位のlispバッファ(*elein-swank*eleinを使用する例で呼び出されます)の出力を検査するか、実行slime-redirect-inferior-outputしてreplで出力をインラインにすることができます。Clojure.contrib.loggingは、ログ出力を送信するための便利なツールです。

于 2011-02-28T05:12:28.727 に答える
2

repl で呼び出しをラップして(with-out-str (def result (my-code)))、出力を文字列としてキャプチャできます。このようにして、作業中のコードに対してのみ実行でき、出力の取得を開始するために repl を再起動する必要はありません。

于 2011-02-28T19:55:43.610 に答える