Clojure Reifyを使用してコンストラクターを提供します
-
09-10-2019 - |
質問
使用するとき reify
Clojureでは、コンストラクターに式を提供するにはどうすればよいですか?
または、基本クラスのコンストラクターに引数を渡すにはどうすればよいですか?
解決
使用できません reify
クラスをサブクラス化してインスタンス化するために、プロトコルとインターフェイスでのみ使用することを目的としています。 (次の方法の実装を提供できます Object
, 、 けれど。)
任意のクラスやインターフェイスの匿名のサブクラスをインスタンス化するには、使用してください proxy
. 。プロキシのスーパークラスのctorに対するすべての引数は、もしあれば、 args
のベクトル(2番目の引数) proxy
形:
(proxy [SomeClass SomeInterface-1 ...] [ctor-arg-1 ...]
; method impls follow
...
)
見る (doc proxy)
詳細については。
所属していません StackOverflow