2009-09-04 6 views
27

F #에서이 문제를 발견했습니다. 가정, 나는 서로를 참조하는 두 가지 유형을 선언 할 :F # 전달 형식 선언


type firstType = 
    | T1 of secondType 
    //................ 

type secondType = 
    | T1 of firstType 
    //................  

어떻게 컴파일러 오류가 발생하지 않도록, 그렇게합니까?

+1

도 참조하십시오. http://stackoverflow.com/questions/680606/f-how-to-have-two-methods-calling-each-other – Brian

답변

44

당신은 사용 '및'

type firstType = 
    | T1 of secondType 

and secondType = 
    | T1 of firstType 
+2

F #에서 나는 우아하지 않은 느낌이들 때마다, 저는 즐겁게 삽니다. 놀랍게도 우아한 해결책이 있습니다. – CodeMonkey

3

내가 그것을 생각. 그것은 :


type firstType = 
    | T1 of secondType 
    //................ 

and secondType = 
    | T1 of firstType 
    //................ 
+5

당신은 이미 알고 있지 않은 경우에 대비하여 상호 재귀 함수에도 같은 표기법을 사용합니다. – Massif

2

제한 사항은 동일한 파일에서 유형을 선언해야한다는 것입니다.