我有一个记录/类序列,并且我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])
我也在寻找更优雅的东西。