2013-11-04 18 views
7

tôi có chức năng sau:F # mảng flatMap

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

Chức năng mất một mảng của chuỗi và, thông qua sqlServer lấy về dữ liệu được trả về bởi sqlServer.FetchTimeSerie như một List<b> nơi b là một đối tượng tùy chỉnh được xác định. Bây giờ, ánh xạ mảng có nghĩa là hàm fetchTickerGroup trả về List<b>[].

Tôi đã tự hỏi nếu nó có thể kết quả, thay vì chỉ lập bản đồ các giá trị mảng.

Trả lời

12

Tôi không có ý tưởng gì Flatmap nhưng tôi nghĩ bạn muốn sử dụng *.collect.

Tôi nghĩ rằng giải pháp tốt nhất là một cái gì đó giống như

tickers |> Array.toList |> List.collect (fun x -> sqlServer.FetchTimeSerie(schema,x)) 

bạn cần phải chuyển đổi để bạn chỉ có danh sách hoặc mảng loại

+9

flatMap, Thu thập và SelectMany là tên gọi khác nhau cho cùng một khái niệm –

+1

@ Gustavo: cảm ơn, đến từ Scala tôi đã sử dụng một thuật ngữ không đúng. – NoIdeaHowToFixThis

Các vấn đề liên quan