我正在尝试将与特定(可选)关键字相关的数据从文件读入F#中的不可变.
当关键字存在于文件中时,我的代码执行我想要的操作:
let variable1 =
lines
|> Seq.find(fun x -> x.Contains "keyword1")
|> fun x -> x.Split(']').[1]
Run Code Online (Sandbox Code Playgroud)
当关键字不存在时,Seq.find按预期中断.而不是使用tryFind几行,如果/然后我试图使它全部以F#方式在一行中工作,但我不知道如何处理tryFind的输出,因为后续的拆分操作需要类型字符串而不是比IsSome的未知类型.如何进一步满足红色波浪形需求的类型约束?
let variable1 =
lines
|> Seq.tryFind(fun x -> x.Contains "keyword1")
|> fun x -> if x.IsSome then x.Split(']').[1]
Run Code Online (Sandbox Code Playgroud)