F#数组平面图

NoI*_*his 9 arrays f#

我有以下功能:

let fetchTickerGroup (tickers: string[])  (sqlServer:SQLServerClient) (schema: string) = 
tickers |> Array.map(fun x -> sqlServer.FetchTimeSerie(schema,x))
Run Code Online (Sandbox Code Playgroud)

该函数采用一个字符串数组,并通过sqlServer取这是由返回的数据sqlServer.FetchTimeSerie作为List<b>其中b一个自定义的对象.现在,映射数组意味着函数fetchTickerGroup返回List<b>[].

我想知道结果是否可能flatMap,而不仅仅是映射数组值.

Joh*_*mer 16

我不知道Flatmap是什么,但我认为你想用*.collect.

我认为最好的解决方案就是这样

tickers |> Array.toList |> List.collect (fun x -> sqlServer.FetchTimeSerie(schema,x))
Run Code Online (Sandbox Code Playgroud)

您需要转换,以便您只有列表或数组类型

  • FlatMap,Collect和SelectMany是同一概念的不同名称 (10认同)
  • @Gustavo:谢谢,来自 Scala 我使用了不正确的术语。 (2认同)