タスクをエージェントに送信しましたが、関数に入力したprintステートメントの出力が表示されません。エージェントでのコード実行を追跡するにはどうすればよいですか?
編集:コンソールでは出力を取得しますが、SLIMEでは取得しません。ここでの問題は、SLIMEで出力を確認する方法です。
重要なのは、シェルからlein swankを呼び出すのではなく、劣ったlispプロセスとしてemacsからswankを開始することです。これを行う1つの方法は、eleinを使用することです(コマンドはM-x elein-swank
)。次に、下位のlispバッファ(*elein-swank*
eleinを使用する例で呼び出されます)の出力を検査するか、実行slime-redirect-inferior-output
してreplで出力をインラインにすることができます。Clojure.contrib.loggingは、ログ出力を送信するための便利なツールです。
repl で呼び出しをラップして(with-out-str (def result (my-code)))
、出力を文字列としてキャプチャできます。このようにして、作業中のコードに対してのみ実行でき、出力の取得を開始するために repl を再起動する必要はありません。