Вы можете получить значения элементов Some
с помощью функции List.choose
, которая делает это почти точно.
[Some 1; Some 2] |> List.choose id
// Returns [1; 2]
Семантика функции List.choose
заключается в том, что она позволяет вам выбиратьнекоторые элементы списка, предоставляя функцию, которая для каждого элемента возвращает либо Some
, либо None
.Элементы, для которых функция возвращает None
, отбрасываются, а результаты Some
развертываются и возвращаются в виде списка.Вы можете рассматривать эту функцию как комбинацию map
и filter
в одном.
Поскольку элементы вашего списка уже имеют тип option
, функция выбора будет id
,которая является стандартной библиотечной функцией, которая просто возвращает свой аргумент без изменений.