レコードを作成するためのマクロを作成しました
(defmacro def-entity [name & value]
`(do
(defrecord ~name (vector ~@value))
))
そして私は1つのエンティティを作成しました
(def-entity p a b)
しかし、具体的なインスタンス(def something(p。 "a" "b"))を作成しようとすると、次のメッセージが表示されますjava.lang.IllegalArgumentException:クラスuser.p(repl-1:40)に一致するコンストラクターが見つかりません。したがって、次のような3つのパラメーターを指定する必要があります(def some(p。 "a" "b" "x"))そして、次のような値を入力します
(-> someone :a)
"b"
(-> neko :p)
nil
何が起こっているのかわからないようですが?