1
如何通過set.fold或set.foldback定義一個函數toList等價於set.toList? 我已經做了這個功能,但我很確定它不正確。高級函數toList
let toList predicate items =
List.foldBack (fun item state ->
match predicate item with
| false -> state
| true -> item::state
)
items
[]
//test
toList (fun x -> x > 0) [-2;-1;0;1;2]
//output
//val toList : predicate:('a -> bool) -> items:'a list -> 'a list
//val it : int list = [1; 2]
任何提示/幫助?
對於開始嘗試更換'List.foldback'用'Set.foldback' – Petr
你例子似乎工作 - 出了什麼令您滿意? - 順便說一句:這只是'List.filter'現在 – Carsten