저는 Scheme을 처음 접했고 오늘 해결할 수없는 다음 문제를 발견했습니다. 나는 파일 시스템을 나타내는 트리의 노드에 대한 다음과 같은 표현이 있습니다경로 찾기 스키마
(디렉토리 이름 함량) 디렉토리를 빈 디렉토리 예를 들어
("에 대한 파일
(디렉토리 이름 널 (null))에 대한
FILE_NAME etc/"(("network/"("interfaces ")))) 경로 etc/network/interfaces에 대한 트리입니다.
내가해야 할 일은 이런 종류의 트리와 디렉토리/파일 이름을 인수로 취하고 거기에 경로가있는 경우 그 경로를 반환하는 함수를 작성하는 것입니다. 디렉토리/파일이 없으면 #f를 반환합니다. 예를 들어
: 함수의 이름을 가정 할
(define tree '("/"
(("etc/" ("network/" ("interfaces")))
("root/" null))))
얻을 경로를 (취득 경로 트리 "인터페이스")를 실행하여이 출력됩니다 "을/etc/네트워크/인터페이스"입니다.
내가 원했던 것은 생각이었습니다. 당신이 저에게 하나 줄 수 있다면, 나는 감사 할 것입니다.
가 깊이 첫 번째 검색 작업을 수행합니다. 나는. 데이터 구조의 첫 번째 요소가 검색 대상인 경우 반환하십시오. 그렇지 않으면 각 자식을 차례로 (재귀 적으로) 검색하십시오. –
어떻게 여러 경로를 처리 하시겠습니까? 그것은 '인터페이스'가/dev/interfaces,/etc/interfaces와 같은 여러 경로에 여러 번 존재할 수 있다는 것입니다. – GoZoner
@GoZoner 여러 경로를 가질 수 있다는 문제가 명시되지 않았으므로 다중 경로가 없다고 가정합니다. – pixie