2

編集:私が欲しいのは基本的にロード文字列ですか?

質問

Clojure では、次のようにします。

(require :reload 'foo.bar)

次に、Clojure は src/foo/bar.clj を探して再ロードします。

今、私はこのようなことをしたい:

(reload-from-string 'foo.bar STR)

これのセマンティクスは次のようになります: 名前空間 'foo.bar をリロードしますが、src/foo/bar.clj をコンパイルする代わりに、代わりに STR をコンパイルします。

reload-from-string を定義するにはどうすればよいですか?

環境

Clojure アプリケーションを実行しているサーバーでコードをホット リロードする必要があります。リロードするために、ファイルをサーバーとの間で (scp、sftp、または fuse/sshfs を介して) 連続的にシャッフルする必要はありません。したがって、文字列を渡すことをお勧めします。

ありがとう!

4

1 に答える 1

1

read-stringとを使用できますeval。ただし、リスクを念頭に置いてください。それらを分割する利点は、結果のリストに存在するものを評価する前にホワイトリストに登録できることです。

*read-eval*おそらくfalse にもバインドしたいでしょう。

于 2012-05-15T11:01:46.883 に答える