내지도에서 지퍼를 만들려고합니다. 지퍼 정의에 따르면,지퍼 라이브러리의 make-node
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을 지정해도 작동합니다. 나는이 매개 변수가 언제 어디서 사용되는지 이해하지 못한다.