第一次使用F#进行生产时需要一些帮助。请查看以下代码,在每行添加了我收到的警告作为注释:
type AssetClass =
| Corp
| Corp_SME
| Res_Mort
| Qual_Ret
| Ret_Oth
let Correlation assetClass pd sales =
match assetClass with
| Corp -> 0.12
| CORP_SME -> 0.24 // warning FS0049: Uppercase variable identifiers
| Res_Mort -> 0.15 // warning FS0026: This rule will never be matched
| Qual_Ret -> 0.04 // warning FS0026: This rule will never be matched
| Ret_Oth -> 0.03 // warning FS0026: This rule will never be matched
我检查了一下,它并没有虚张声势,第三个和其他情况确实被忽略了。这里我还缺少什么?(实际实现中我使用了pd和sales输入,这里我只是省略了公式。)
我想要做的是像在C#中使用枚举一样使用判别联合,并对其进行切换。所以在C#中,我会这样输入:
enum AssetClass {
Corp,
Corp_SME,
Ret_Oth
}
float Correlation(AssetClass assetClass){
switch(assetClass){
case Corp: return 0.12;
case Corp_SME: return 0.12;
case Ret_Oth: return 0.12;
}
}
有人能帮我吗?
提前致谢,
Gert-Jan
| Corp of int
)。 - Tomas Petricek