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