Учитывая список [Some 1; Some 2; Some 3]
, мне нужен вывод Some 6
. Для списка [Some 1; None]
следует указать None
.
Но я нахожу это немного сложнее, чем я думал, чтобы достичь этого чистым способом.
Лучшее, что я мог придумать, это
let someNums = [Some 1; Some 2; Some 3]
someNums
|> List.reduce (fun st v ->
Option.bind (fun x ->
Option.map (fun y -> x + y) st) v )