どうやら、レコード コンストラクターで apply を呼び出すことはできません。
(defrecord Foo. [id field])
(apply Foo. my-list)
Foo を想定していないため、読み取り時に失敗します。その場所で。
私が考えることができる唯一の明白な回避策は、ファクトリ関数を追加することでした:
(make-foo [id field] (Foo. id field))
もちろん適用できます。
何か不足していますか?これは C#/Java から期待できますが、Clojure では少しがっかりしたと思いました...