2014-09-08 1 views
0

주어진 디렉터리 아래에있는 모든 파일/하위 디렉터리를 나열하는 스칼라 함수를 작성하려고 시도했지만 꼬리 재귀 적으로 만들고 싶습니다. 이것에 더 많은 시간을 할애하기 전에 그것은 달성 가능한 목표일까요? 아니면 규칙적인 재귀를 고수해야합니까? 나는 그것이 가능하다는 것을 알고 싶다. 나는 스스로 알아 내고 싶다. 좋은 학습 경험과 모든 것. 감사!Scala에서 꼬리 재귀 적으로 디렉터리를 트래버스 할 수 있습니까?

+0

당신이 심볼릭 링크에 대한 지원을해야합니까? –

+0

흠, 그렇게 생각하지 마십시오. – jbrookins13

+0

그런 다음 작업은 꼬리 재귀 적 방식으로 구현 가능한 것으로 알려진 일반 트리 순회로 귀결됩니다. –

답변

1

난 당신이 트리 탐색을위한 스택의 몇 가지 유형을 필요 보인다, 그래서 당신이 시스템 스택을 피하면 당신은 구현해야 자신 (http://www.scala-lang.org/old/node/7984 참조)

+0

이것이 꽤 정확하기 때문에 이것이 왜 아래 표를 얻었는지 확실하지 않습니다. 어떻게 든 나무에서 자신의 위치를 ​​유지해야합니다. 이것은 호출 스택에 함축적으로있을 수 있으며 함수는 꼬리 재귀가 될 수 없으며 호출에서 호출로 전달 된 다른 데이터 구조에서 명시 적으로 될 수 있습니다. –

관련 문제