第一次使用 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;
}
}
有人可以帮我吗?
提前致谢,
格特-扬