1
나는 재귀 트리 워킹을하고있다. 나는 다음과 같은 것을 원한다. (하스켈 의사 코드)하스켈 : 재귀 매핑 어려움
walkTree step root = do
dsc <- getDescendants root
for d in dsc
nextStep = increase step d
walkTree nextStep d
나를위한 반복은 물론 아니다. 하지만 매핑 솔루션을 이해할 수는 없습니다. step
은 어떻게 관리 할 수 있습니까?
UPD :
walkTree step root = do
dsc <- getDescendants root
nextStep = increase step d
mapM (walkTree nextStep) dsc
두 가지 문제 :
하는의 맵핑을 해보자 nextStep
매핑에 대한 동결; 또한 d
(보조가 됨)을 얻을 수 없습니다.
항상 처리중인 모든 데이터에 대한 유형 서명 및 참조 또는 정의를 추가하십시오. – leftaroundabout
이것은 의사 코드입니다. 그렇지 않습니까? 'root'는 트리 노드이고,'dsc'는 직계 하위 노드의리스트이고,'step'은 아직 변경 및 전달 대상이 아닙니다. –
솔루션 시도에 대해 의사 코드를 게시하는 것은 괜찮지 만, 여러분이 말하는 데이터 구조와 알고리즘의 _purpose_ (즉, 유형 서명)가 무엇인지 제대로 알 필요가 있습니다. – leftaroundabout