编写一个什么都不做的延续

时间:2012-04-30 14:26:45

标签: scheme continuations r6rs

也许我的问题有一个非常简单的答案,但我找不到它。

在Scheme R6RS中,如何构建一个不执行任何操作且需要任何参数的延续?

我的目标是有一个延续,让它命名为QUIT,如果我有以下代码:

((lambda ()
  (display 1)
  (display 2)
  (QUIT)
  (displey "A")))

它预示着1和2但不是" A"。+

你能帮助我吗?

谢谢。

1 个答案:

答案 0 :(得分:5)

最直接的方法是使用简单的“返回”式延续:

(call/cc (lambda (return) 
    (display 1) 
    ...
    (return) 
    (display "A")))

这有帮助吗?