0

clojure プロジェクトの project.clj に他のファイルを含める (インポートする) ことは可能ですか? (特にライニンゲン)。

たとえば、次のものがあります。

(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT"
  :description "Sample clojure application - clojure 1.3 !"
  :some-key "some value")

project.clj 以外のファイルに :some-key などを定義するとよいでしょう。

4

1 に答える 1

2

defproject がトップレベルのフォームでなければならない理由はありません。引数リストを構築することにより、defproject への呼び出しを作成できます。唯一の問題は、defproject がマクロであるため、単純な「適用」機能が役に立たないことです。

(def extra-args (read-string (slurp "project-extension.clj")))
(eval (concat '(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT")
                extra-args))

これはファイルを読み取ってから、そのファイルの要素を評価していることに注意してください。ファイルの送信元を必ず確認してください。

于 2011-10-12T14:35:22.270 に答える