独自のマップからジッパーを作成しようとしています。ジッパーの定義によると、
Usage: (zipper branch? children make-node root)
パラメータブランチ?そして子供たちは明確であり、私はそれを定義することができます. しかし、make-node 関数はややこしいです。使用されているとは思わない実装を行いました。
の地図を持っています
{:question "Question 1" :yes "Answer1"
:no {:question "Question 2"
:yes "Answer2"
:no "Answer3"}}
この地図からジッパーを作りたいです。だから私は次のジッパー関数呼び出しを使用しました、
(zip/zipper map?
(fn [node] [(:yes node) (:no node)])
(fn [node children] (:question node))
question-bank)
これはうまくいきます。make-node パラメーターに nil を指定しても機能します。このパラメーターがいつどこで使用されるのかわかりません。