2010-11-29 2 views
5

상호 회귀 형식 ([<Struct>])을 서로 다른 파일에 분산시킬 수 있습니까? 유형은 네임 스페이스 바로 아래에 있습니다.내 상호 회귀 형식 구성

내 솔루션은 하나의 큰 파일에 넣고 type ... and ... and ... etc 구성을 사용하는 것입니다. 유일한 방법입니까?

답변

13

하나를 다른 매개 변수로 매개 변수화하는 재귀 매듭을 해제하는 기술을 사용할 수 있습니다.

그래서이 :

type a = B of b 
and b = A of a 

가된다 : 대답에 대한

type 'b a = B of 'b 
type b = A of b a 
+0

감사합니다. 이런 종류의 기법이 자주 사용됩니까? 나는 F # design guidelines가 모든 것을 하나의 큰 파일에 담을 것을 권고한다. – Stringer

+0

필자는 자주 사용하고 고객에게 자주 사용하도록 권합니다. 그렇습니다. 과소 평가 된 것처럼 보입니다. –

+0

'recursive knot untying'은 함수를 기억하려고 할 때 매우 유용합니다. * http://typeocaml.com/2015/01/20/mutable/의 대체가 필요할 때 *에 설명되어 있습니다. –