如何在F#中将字符串选项合并为单个字符串选项?

3

如何在F#中将两个字符串选项合并为一个字符串选项? 必须在connect函数中完成,现在我的代码看起来像这样:

open System.IO

let getFile (name : string) : string option = 
    if File.Exists(name) then
       Some (File.ReadAllText name)
    else
       None 

let connect (name : string list) : string option = 
    getFile name.[0]

因此,connect函数的输出应该是A.txt和B.txt的内容作为单个字符串。如果其中一个文件不存在,它应该返回None。 我想知道如何将列表中第一个元素的内容与第二个元素合并?我尝试过使用+和option.bind,但无法使其工作。
提前感谢。


1
就像 Haskell 中的 Maybe 类型一样。但是在您的函数中,您可能需要明确匹配 Some strNone - Meowcolm Law
1个回答

7

类似下面这样:

let string1 = Some "Hello "
let string2 = Some "World"

Option.map2 (+) string1 string2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接