Implementing collect for list in F# -
i new programming in functional languages. attempting implement f# collect list.
let rec collect func list = match list | [] -> [] | hd::tl -> allow tlresult = collect func tl func hd::tlresult;; collect (fun x -> [for in 1..3 -> x * i]) [1;2;3];; should print:
val : int list = [1; 2; 3; 2; 4; 6; 3; 6; 9] but got:
val : int list = [[1; 2; 3;], [2; 4; 6;], [3; 6; 9]]
the collect function tricky implement efficiently in functional style, can quite implement using @ operator concatenates lists:
let rec collect f input = match input | [] -> [] | x::xs -> (f x) @ (collect f xs) list f# functional-programming collect
No comments:
Post a Comment