假设我正在使用如下列表:
let items = [ Some(1); None; Some(8); ];;
获取Some
列表中的值的最短方法是什么?
items |> List.filter Option.isSome;;
这是最快的吗?使用Option.isSome
有任何缺点吗?
Car*_*ten 10
要获取Some
列表中所有实例的值,items :: a option list
您可以使用List.choose
:
let values = List.choose id items
Run Code Online (Sandbox Code Playgroud)
这会产生[1; 8]
你的例子.