提供带有Clojure reify的构造函数

pau*_*doo 5 constructor clojure reify

reify在Clojure中使用时,如何为构造函数提供表达式?

或者,如何将参数传递给基类构造函数?

Mic*_*zyk 5

您不能使用reify子类和实例化类 - 它仅用于协议和接口.(但是,您可以提供方法的实现Object.)

要实例化任意类和/或接口的匿名子类,请使用proxy.代理的超类ctor的所有参数(如果有的话)都进入表单的args向量(第二个参数)proxy:

(proxy [SomeClass SomeInterface-1 ...] [ctor-arg-1 ...]
  ; method impls follow
  ...
  )
Run Code Online (Sandbox Code Playgroud)

有关(doc proxy)详细信息,请参阅