String 如何在fsharp中将字符串选项合并为单个字符串选项?
这是我的作业:)希望有人能帮忙 如何在fsharp中将两个字符串选项合并为一个字符串选项?它必须在connect函数中,现在我的代码如下所示:String 如何在fsharp中将字符串选项合并为单个字符串选项?,string,file,f#,option,String,File,F#,Option,这是我的作业:)希望有人能帮忙 如何在fsharp中将两个字符串选项合并为一个字符串选项?它必须在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
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]
let string1 = Some "Hello "
let string2 = Some "World"
Option.map2 (+) string1 string2
所以connect函数的输出应该是A.txt+B.txt的内容,作为单个字符串。如果其中一个文件不存在,则应返回None。
我感兴趣的是如何将列表中第一个元素的内容与第二个元素合并在一起?我已尝试+和option.bind,但无法使其工作。提前感谢诸如此类:
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]
let string1 = Some "Hello "
let string2 = Some "World"
Option.map2 (+) string1 string2
就像在Haskell中键入
一样。但您可能需要在函数中显式匹配某些str
和无