Trace

提供:GizmoLabs - だいたい CAD LISP なサイト
2009年10月21日 (水) 17:13時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成: ; 構文 : (trace [''function''...]) ; 機能 : LISP のデバッグを支援する。 : trace 関数は、指定された関数にトレース フラグを設定する。 指…)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(trace [function...])


機能
LISP のデバッグを支援する。
trace 関数は、指定された関数にトレース フラグを設定する。 指定された関数を評価するごとにトレース出力を表示し、(呼び出しの深さのレベルに応じて字下げした)関数の項目と関数の結果を表示する。
トレース フラグをオフにするには、untrace を使用する。
引数
  • function : 関数名のシンボル。引数を指定しなければ何の働きもしない。
戻り値
最後の関数名を trace 関数に渡す。引数を何も指定しなかった場合は nil を返す。
サンプル
foo という名前の関数を定義し、その関数にトレース フラグを設定。
(defun foo (x) (if (> x 0) (foo (1- x)))) 
FOO
(trace foo) 
FOO

(foo 3) ;  foo を呼び出して、結果を取得。
FOO を入力: 3
  FOO を入力: 2
    FOO を入力: 1
      FOO を入力: 0
      結果: nil
    結果: nil
  結果: nil
結果: nil

(untrace foo) ;  untrace 関数を呼び出して、トレース フラグをクリア。
FOO

関連事項