相关疑难解决方法(0)

虽然在F#中使用Tail Recursion,但在什么时候使用?

好的,只是在F#中,这就是我现在理解的方式:

  • 有些问题本质上是递归的(构建或读出树结构只能命名一个)然后你使用递归.在这些情况下,您最好使用尾递归来使堆栈中断

  • 有些语言是纯粹的功能,所以你必须使用递归而不是while循环,即使问题不是递归的

所以我的问题是:既然F#也支持命令式范式,你会在F#中使用尾递归来解决那些不是自然递归的问题吗?特别是因为我已经读过编译器重新认识尾递归并且只是在while循环中转换它?

如果是这样:为什么?

f# functional-programming tail-recursion while-loop

16
推荐指数
4
解决办法
3797
查看次数