gpt4 book ai didi

f# - 如何在 Fsharp 中返回 "None"?

转载 作者:行者123 更新时间:2023-12-05 02:58:07 25 4
gpt4 key购买 nike

它只返回一些“”,但我需要返回“none”。

我该怎么做?

let cat(filenames: string list) : string option =
try
let b = filenames |> List.map (fun x -> (defaultArg (concat(x)) ""))
Some (String.concat "" b)
with _ -> None

最佳答案

它返回 some "" 因为空列表不会导致异常。您需要匹配一个空列表并返回 None。我也不确定 List.map 是否与您在此处尝试执行的 concat 对齐,也许您的意思是 List.reduce ?这样的事情可能会奏效。

let cat filenames = 
match filenames with
| [] -> None
| l -> l |> List.reduce (+) |> Some

关于f# - 如何在 Fsharp 中返回 "None"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59360483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com