F#转发类型声明

时间:2009-09-04 11:05:06

标签: syntax f# recursion types mutual-recursion

我偶然发现了F#中的这个问题。假设,我想声明两种相互引用的类型:


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

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

我该怎么做,所以编译器不会产生错误?

3 个答案:

答案 0 :(得分:50)

你使用'和':

type firstType = 
     | T1 of secondType

and secondType =
     | T1 of firstType

答案 1 :(得分:3)

我知道了。它是:


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

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

答案 2 :(得分:2)

限制是必须在同一文件中声明类型。