レコード/クラスのシーケンスがあり、map
そのシーケンスをオーバーしてnew
、それらのレコード/クラスのインスタンスのシーケンスを取得することを期待しています。が特別な形式であることはわかってnew
いますが、この場合、Clojure が正しいことを行うことを期待していました。
しかし、これは機能しません:
(map new [SomeClass1 SomeClass2 SomeClass3])
これもそうではありません。
(map #(new %) [SomeClass1 SomeClass2 SomeClass3])
同様のコードはFactorでも機能します。
{ SomeClass1 SomeClass2 SomeClass3 } [ new ] map
Clojure でこれを行う正しい方法は何でしょうか? Class.newInstance
(醜さは伴わないと思います。)
編集:
以下は機能しますが、おそらく必要以上に遅くなります。(よくわかりません。これに関する情報をいただければ幸いです。)
(map #(eval `(new ~%)) [SomeClass1 SomeClass2 SomeClass3])
また、よりエレガントなものを探しています。