私は、アプリケーションが起動されたときに一度初期化したい名前空間にdefを持っていますが、 "def"を含む名前空間が "使用"され、別の名前空間から再ロードされるたびに "def"が再評価されます。このリロード中に「def」が再抽出されないようにするにはどうすればよいですか?「def」をclojureにリロードしないようにするにはどうすればよいですか?
6
A
答えて
13
defonce
名前空間がある場合、それはまだ再定義されるであろうけれども、あなたが近づきます:再読み込み(use 'my.namespace :reload)
は、最初は、古いルート結合をスローしますので。
Defonceは、varが指定された名前空間にルートバインディングを既に持っているかどうかをチェックし、そうでない場合にのみ定義するマクロです。これを使用して、この特別なdefを独自の名前空間に入れて、(in-ns ...)
とすることで、リロードによって抹消されないようにすることができます。 「メイン」ネームスペースを必要なだけ頻繁にリロードすることができ、コードは一度定義する必要があります。
1
関連する問題
- 1. ClojureでZipを使用するにはどうすればよいですか?
- 2. Clojureでコールスタックを取得するにはどうすればよいですか?
- 3. Clojureでマクロをマップするにはどうすればよいですか?
- 4. ボタンアクションでUIViewControllerをリロードするにはどうすればよいですか?
- 5. 各リクエストでプラグインをリロードするにはどうすればよいですか?
- 6. UIViewControllerをリロードするにはどうすればよいですか?
- 7. Clojureで "defn"マクロを書くにはどうすればよいですか?
- 8. Clojureのfnで未定義シンボルを使用するにはどうすればよいですか? Clojureので
- 9. ソフトウェアアーキテクトになるにはどうすればよいですか?
- 10. カウントダウンタイマー用のセッションストレージを作成して、ページをリロードした後にリセットされないようにするにはどうすればよいですか?
- 11. リンクをクリックしてトップページにスクロールしないようにするにはどうすればよいですか?
- 12. Sonarにソースコードをデータベースに保存しないようにするにはどうすればよいですか?
- 13. PDFレンダリング時にCATiledLayerを使用しないようにするにはどうすればよいですか?
- 14. 外部URLをiOSアプリケーションにハードコーディングしないようにするにはどうすればよいですか?
- 15. データシートをアクティブシートに保存しないようにするにはどうすればよいですか?
- 16. ブランチを運用サーバーに展開しないようにするにはどうすればよいですか?
- 17. webhookアドレスに投稿を送信しないようにするにはどうすればよいですか?
- 18. Googleにキャッシュリンクを提供しないように指示するにはどうすればよいですか?
- 19. ベンダーのディレクトリにアセットをプリコンパイルしないようにするにはどうすればよいですか?
- 20. 配列にコードを挿入しないようにするにはどうすればよいですか?
- 21. json応答をユーザーに表示しないようにするにはどうすればよいですか?
- 22. TextBoxに行を追加/削除しないようにするにはどうすればよいですか?
- 23. バックボーンビューを不必要に破壊しないようにするにはどうすればよいですか?
- 24. Pythonのunittestに例外をキャッチしないようにするにはどうすればよいですか?
- 25. アイテムフィールドをシリアル化しないようにScrapyに指示するにはどうすればよいですか?
- 26. ダブルクオート文字をTextBoxに入力しないようにするにはどうすればよいですか?
- 27. リダイレクト時にajaxリクエストをキャンセルしないようにするにはどうすればよいですか?
- 28. PostgreSQLに重複データを挿入しないようにするにはどうすればよいですか?
- 29. QDialogがタスクバーにエントリを作成しないようにするにはどうすればよいですか?
- 30. JavascriptでPOSTDATA警告なしでページをリロードするにはどうすればよいですか?
ねえ、この回答はこの動作以来変更されていますか?私は名前空間に(defonce x 5)を追加しようとしました。replを開始すると、xは5です。それからソースで変更しました(require:reload 'test)、(use:reload' test) 5 – Hendekagon