Question

Given this:

open System.Linq

let iota n = [0..(n-1)]

the following produces an error:

[2; 3; 4].SelectMany(fun n -> iota n)

Is there a way to pass function values to SelectMany?

Was it helpful?

Solution

You need to cast the result to a seq<int>:

[2; 3; 4].SelectMany(fun n -> iota n :> int seq)

alternatively you could use List.collect:

[2; 3; 4] |> List.collect iota
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top