Clojureでコードの実行を追跡するにはどうすればよいですか?

黒くなった

なぜClojureを学ぶのか、各ステップで関数が何をするのかを確認する必要がある場合があります。例えば:

(defn kadane [coll]
   (let [pos+ (fn [sum x] (if (neg? sum) x (+ sum x)))
         ending-heres (reductions pos+ 0 coll)]
     (reduce max ending-heres)))

printlnあちこちに挿入する必要があります(どこに、どのように)。または、推奨されるワークフロー/ツールはありますか?

MichałMarczyk

これは、単一の関数のレベルで求めているものではないかもしれませんが(以下のCharles Duffyのコメントを参照)、名前空間(または複数)のレベルで何が起こっているのかを概観したい場合は、tools.traceを使用してください(開示:私は寄稿者です):

(ns foo.core)

(defn foo [x] x)
(defn bar [x] (foo x))

(in-ns 'user) ; standard REPL namespace

(require '[clojure.tools.trace :as trace])
(trace/trace-ns 'foo.core)

(foo.core/bar 123)
TRACE t20387: (foo.core/bar 123)
TRACE t20388: | (foo.core/foo 123)
TRACE t20388: | => 123
TRACE t20387: => 123

(Charlesが指摘したように)内部関数などをキャッチせず、大きなコードグラフでは圧倒される可能性がありますが、小さなコードグラフを探索する場合は非常に便利です。

(対象のグループが名前空間と完全に一致していない場合は、個別に選択された変数をトレースすることもできます。)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

XCopyコマンドの実行中にXCopyコマンドの進行状況を追跡するにはどうすればよいですか?

分類Dev

ClientIdを使用してGoogleAnalyticsの追跡コードをPHPフッターに実装するにはどうすればよいですか?

分類Dev

関数を実行する前に時間を追跡するにはどうすればよいですか?

分類Dev

追跡/攻撃コードを修正するにはどうすればよいですか?

分類Dev

コーダの現金状態を追跡するにはどうすればよいですか

分類Dev

PHPで複数のjsonオブジェクトのレコード番号を追跡するにはどうすればよいですか?

分類Dev

SpriteKitでキャラクターの後ろを追跡するにはどうすればよいですか?

分類Dev

Pythonでローカル変数の値を追跡するにはどうすればよいですか?

分類Dev

Macでリソースの使用状況を追跡するにはどうすればよいですか?

分類Dev

メッセージの反応数を追跡するにはどうすればよいですか?

分類Dev

Wacom Tabletのホバーイベントを追跡するにはどうすればよいですか?

分類Dev

jqGrid-ローカル操作の速度を追跡するにはどうすればよいですか

分類Dev

メールの開封を自動的に追跡する Mailchimp の方法を実装するにはどうすればよいですか?

分類Dev

Pythonでユーザーの推測を追跡するにはどうすればよいですか?試行=試行+1が機能していません

分類Dev

Rで複数行のコードを実行するにはどうすればよいですか?

分類Dev

動的に更新されるHTMLテーブルの下部を確実に追跡するにはどうすればよいですか?

分類Dev

Clojure関数を宣言し、clojure-utilsを使用してJavaコードからすぐに実行するにはどうすればよいですか?

分類Dev

Azureで誰がコードを更新したかを追跡するにはどうすればよいですか

分類Dev

zxing QRコードライブラリでスキャンした後にデータを追跡するにはどうすればよいですか?

分類Dev

'TransactionScope'のようなコードを実行するにはどうすればよいですか?

分類Dev

変数が値を変更した行を追跡するにはどうすればよいですか?

分類Dev

コードで何かが発生した時間を追跡するにはどうすればよいですか?

分類Dev

1つのFacebook広告の別々のページで複数のコンバージョンを追跡するにはどうすればよいですか?

分類Dev

このコードをNode.Jsで同期的に実行するにはどうすればよいですか?

分類Dev

このPHPコードをより効率的に実行するにはどうすればよいですか?

分類Dev

失敗したSSHログイン試行を追跡するにはどうすればよいですか?

分類Dev

失敗したSSHログイン試行を追跡するにはどうすればよいですか?

分類Dev

TensorBoardでTensorFlowコードの実行を分離するにはどうすればよいですか?

分類Dev

Swift 5でコードの実行順序を修正するにはどうすればよいですか?

Related 関連記事

  1. 1

    XCopyコマンドの実行中にXCopyコマンドの進行状況を追跡するにはどうすればよいですか?

  2. 2

    ClientIdを使用してGoogleAnalyticsの追跡コードをPHPフッターに実装するにはどうすればよいですか?

  3. 3

    関数を実行する前に時間を追跡するにはどうすればよいですか?

  4. 4

    追跡/攻撃コードを修正するにはどうすればよいですか?

  5. 5

    コーダの現金状態を追跡するにはどうすればよいですか

  6. 6

    PHPで複数のjsonオブジェクトのレコード番号を追跡するにはどうすればよいですか?

  7. 7

    SpriteKitでキャラクターの後ろを追跡するにはどうすればよいですか?

  8. 8

    Pythonでローカル変数の値を追跡するにはどうすればよいですか?

  9. 9

    Macでリソースの使用状況を追跡するにはどうすればよいですか?

  10. 10

    メッセージの反応数を追跡するにはどうすればよいですか?

  11. 11

    Wacom Tabletのホバーイベントを追跡するにはどうすればよいですか?

  12. 12

    jqGrid-ローカル操作の速度を追跡するにはどうすればよいですか

  13. 13

    メールの開封を自動的に追跡する Mailchimp の方法を実装するにはどうすればよいですか?

  14. 14

    Pythonでユーザーの推測を追跡するにはどうすればよいですか?試行=試行+1が機能していません

  15. 15

    Rで複数行のコードを実行するにはどうすればよいですか?

  16. 16

    動的に更新されるHTMLテーブルの下部を確実に追跡するにはどうすればよいですか?

  17. 17

    Clojure関数を宣言し、clojure-utilsを使用してJavaコードからすぐに実行するにはどうすればよいですか?

  18. 18

    Azureで誰がコードを更新したかを追跡するにはどうすればよいですか

  19. 19

    zxing QRコードライブラリでスキャンした後にデータを追跡するにはどうすればよいですか?

  20. 20

    'TransactionScope'のようなコードを実行するにはどうすればよいですか?

  21. 21

    変数が値を変更した行を追跡するにはどうすればよいですか?

  22. 22

    コードで何かが発生した時間を追跡するにはどうすればよいですか?

  23. 23

    1つのFacebook広告の別々のページで複数のコンバージョンを追跡するにはどうすればよいですか?

  24. 24

    このコードをNode.Jsで同期的に実行するにはどうすればよいですか?

  25. 25

    このPHPコードをより効率的に実行するにはどうすればよいですか?

  26. 26

    失敗したSSHログイン試行を追跡するにはどうすればよいですか?

  27. 27

    失敗したSSHログイン試行を追跡するにはどうすればよいですか?

  28. 28

    TensorBoardでTensorFlowコードの実行を分離するにはどうすればよいですか?

  29. 29

    Swift 5でコードの実行順序を修正するにはどうすればよいですか?

ホットタグ

アーカイブ