1

私は最近、REPL を使用してよりインタラクティブな開発を行っており、シンボルをグローバル動的変数 (リスト データ構造) にプッシュするコードのセクションがあります。問題は、そのシンボルをグローバルにプッシュするファイルを繰り返し再ロードしていることに気付いたので、再ロードするたびに別の重複したシンボルがリストにプッシュされたことです。

再コンパイル/リロードの回数に関係なく、各 Lisp セッションに対してプッシュ操作を 1 回だけ実行して、コードを 1 回だけロードしたときに、より伝統的な/デプロイされた環境での動作を模倣したいと思います。 Lisp セッション。

これが私が今使っている方法です。もっといい方法があればいいのですが……。

(defvar *do-only-once*
  (progn
    (push 'some-val *some-global-lst*)
    'evaled))
4

1 に答える 1

2

代わりにPUSHNEWを使用します。

于 2012-06-19T20:45:25.787 に答える