2

タイトルはそれほど素晴らしいものではありませんが、良いワンライナーを見つけるのは難しいです:)

質問は以下です。宣言を考えると:

(def mystruct (create-struct :a :b :c))

次の方法でインスタンスを構築することは可能ですか (明らかに似たようなものです):

(struct-map mystruct :a 1 :b 2 :c (inc (:b this)))

私は次の奇妙な方法でこのようなものを得ることができました:

(def mystructinst (struct-map mystruct :a 1 :b 2 :c (inc (:b mystructinst))))

しかし、正直なところ、なぜそれが機能したのかわかりません。mystructinst は、含まれているフォームの評価後にのみバインドされると思いました。これは、このタスクを実行するクリーンな方法ですか? より良いものはありますか?

お時間をいただきありがとうございます。

4

1 に答える 1