python中的延续是否有任何等效的构造。我一直在阅读有关延续的内容,我只是好奇并想知道,因为文档中对此一无所知。
问问题
5758 次
1 回答
0
我的问题更多的是python是否支持延续,那么它们如何表达?
它们在 Python 中的表达方式与在没有call/cc的任何其他语言中相同:通过将函数作为延续参数传递给另一个函数。考虑一个非常愚蠢的例子,即应用于两个数字之和的延续。在 ML 中,你可以写
fun plus(x, y, k) = k(x + y)
plus(2, 4, print o Int.toString)
打印 6。
但在 Python 中你可能会写
def plus(x, y, k):
return k(x + y)
plus(2, 4, lambda n: print '%d' % n)
它也打印 6。
于 2012-04-27T22:43:37.650 回答