函数式编程的另类指南(9)
The following part is not maintained anymore. Please go to 函数式程序设计的另类指南 for the whole translation.
以下内容不再更新,浏览全部翻译,请访问函数式程序设计的另类指南
原文链接:Functional Programming For The Rest of Us
原文作者:Vyacheslav Akhmechet
Continuations
Continuations对于程序设计的意义,就像《达芬奇密码》对人类历史的意义:揭露了人类有史以来最大的假象。恩,也许没那么牛。但它在概念上的突破性至少和开方负数的意义相同。
我们学习函数时,其实基于这样一个假设:函数只能将结果返回给调用者。在这个意义上continuation是广义的函数。一个函数不一定必须要返回到其调用者,它可以返回到程序的任何地方。continuation可以是函数的一个参数,我们通过这个参数指定函数返回位置。这个描述可能听起来很复杂,我们来看看下面的代码: