我是F#世界里的新手,目前正在尝试使用函数进行实验。我试图寻找新技术,使它们更加紧凑和灵活,并从类似于C#的编码风格中移动。
所以我有一段相当丑陋的代码,需要不断检查和模式匹配:
type StringChecking =
| Success of string
| Fail
let StringProcessor(str : string) =
let newstr = modifyFn str
let result = checkFn newstr
match result with
| true -> Success result
| false ->
let newstr' = modifyFn' str
let result' = checkFn newstr'
match result' with
| true -> Success newstr'
| false ->
let newstr'' = modifyFn'' str
let result'' = checkFn newstr''
match result'' with
| true -> Success newstr''
| false ->
Fail
有没有一些有用的技巧可以帮助我消除所有这些步骤,使我的代码更加优雅。如果问题看起来很奇怪或愚蠢,请原谅,但我真的想做些事情,因为我想在我的某个项目中使用它。我已经对C#中的不断检查感到非常厌倦了。谢谢你的时间和建议。