【发布时间】:2011-12-16 17:46:41
【问题描述】:
如果您有一个依赖于其他函数的递归函数,那么实现它的首选方法是什么?
1) 递归函数外
let doSomething n = ...
let rec doSomethingElse x =
match x with
| yourDone -> ...
| yourNotDone -> doSomethingElse (doSomething x)
2) 递归函数内部
let rec doSomethingElse x =
let doSomething n = ...
match x with
| yourDone -> ...
| yourNotDone -> doSomethingElse (doSomething x)
3) 将两者都封装在第三个函数中
let doSomethingElse x =
let doSomething n = ...
let innerDoSomethingElse =
match x with
| yourDone -> ...
| yourNotDone -> innerDoSomethingElse (doSomething x)
4) 更好的东西?
【问题讨论】:
-
为什么是近距离投票?这似乎是一个非常好的/合理的问题。