関数型言語でのプログラミングは初めてです。F# collect for list を実装しようとしています。
let rec collect func list =
match list with
| [] -> []
| hd::tl -> let tlResult = collect func tl
func hd::tlResult;;
collect (fun x -> [for i in 1..3 -> x * i]) [1;2;3];;
印刷する必要があります:
val it : int list = [1; 2; 3; 2; 4; 6; 3; 6; 9]
しかし、私は得ました:
val it : int list = [[1; 2; 3;], [2; 4; 6;], [3; 6; 9]]