是否有一种明显的方法来确认一个函数是否是递归的?
有什么方法可以判断F#中的函数是否是尾递归的?
我试图解释它,但有些人似乎在努力并询问是否有办法确认他们做了什么是尾递归。 有没有什么简单的事情可以做(除了试图让它溢出堆栈)以确认尾部响应(或不)(最好在IDE中)?
(我尝试了Reflector,但是当我打开F#项目时,它只是崩溃了!)
从这里(在文章中有几个例子):
我如何验证尾部呼叫正在使用?
最简单的方法是确保使用尾部呼叫是了解和应用上一节中的规则。 尽管F#编译器本身并未提供任何方法来验证在特定调用站点上是否使用了尾部调用,但您可以通过使用MSIL Dissasembler(ildasm.exe)查看编译版本的代码来确定。 我们将在下面看到几个例子。
链接地址: http://www.djcxy.com/p/80529.html上一篇: Is there an obvious way to confirm if a function is tail recursive?
下一篇: Is it possible to use continuations to make foldRight tail recursive?