Я пытаюсь создать молнию из собственной карты.Согласно определению молнии,
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.Я не понимаю, когда и где этот параметр будет использоваться.