太棒了;转到我的问题
我相信这里提出的问题一定不是什么新问题,但我没有找到任何直接对应的讨论。
假设我有以下函数(为了提供具有相同结构属性的实际函数的确定性替代,类型为'a -> 'a seq):
// I'm a function that looks suspiciously like a tree
let lsExample x =
match x with
| 0 -> seq { 1; 6; 7 }
| 1 -> seq { 2; 3 }
| 3 -> seq { 4; 5 }
| 7 -> seq { 8; 9 }
| _ -> Seq.empty
Run Code Online (Sandbox Code Playgroud)
现在,我希望拥有以下内容:
let lsAll: ('a -> 'a seq) -> 'a -> 'a seq
Run Code Online (Sandbox Code Playgroud)
这样
lsAll lsExample 0
Run Code Online (Sandbox Code Playgroud)
评估为 …
f# functional-programming tail-recursion depth-first-search preorder