F#中的一个常见模式是希望根据是否为“某些”事物来过滤某些内容,如果是,则获取其值:
module Option =
let values s =
s
|> Seq.filter Option.isSome
|> Seq.map Option.get
我有一个想法,我前段时间在F#库中看过类似的东西,但我现在找不到它们。有没有类似这个功能的东西,还是我必须使用手工卷制的?
由于
答案 0 :(得分:8)
最简单的方法是使用Seq.choose
s |> Seq.choose id
这里我们使用id
,因为输入与输出