4
下面的函数返回set(list)的powerset。F#Powerset函数
let rec powerset = function
| [] -> [[]]
| x::xs -> List.collect (fun sub -> [sub; x::sub]) (powerset xs)
我不明白为什么它的工作原理。我了解递归。我也理解List.collect是如何工作的。我知道递归将继续,直到powerset的一个实例返回[[]]。但是,我试图追踪那个点之后的返回值,并且我从来没有获得完整的功率集。
很好的解释!现在我明白其背后的原因。非常感谢。 – topstarterrhp