假设我正在使用如下列表:
let items = [ Some(1); None; Some(8); ];;
仅获取列表中Some
值的最短方法是什么?
items |> List.filter Option.isSome;;
那是最快的吗?使用Option.isSome
有任何缺点吗?
答案 0 :(得分:9)
要获取列表Some
中所有items :: a option list
个实例的值,您可以使用List.choose
:
let values = List.choose id items
这将为您的示例提供[1; 8]
。