В Clojure, учитывая имя класса в виде строки, мне нужно создать новый экземпляр класса. Другими словами, как я мог бы реализовать new-instance-from-class-name в
(def my-class-name "org.myorg.pkg.Foo")
; calls constructor of org.myorg.pkg.Foo with arguments 1, 2 and 3
(new-instance-from-class-name my-class-name 1 2 3)
Я ищу решение, более элегантное, чем
- вызов метода Java newInstance для конструктора из класса
- с использованием eval, load-string,...
На практике я буду использовать его для классов, созданных с помощью defrecord. Поэтому, если для этого сценария есть какой-то специальный синтаксис, мне было бы очень интересно.