【发布时间】:2013-04-09 12:45:33
【问题描述】:
以下两个代码块(在我看来)都应该是无限循环
这行得通
(define call/cc call-with-current-continuation)
(define l 0)
(define i 0)
((lambda ()
(call/cc
(lambda (k)
(set! l k)))
(write i)
(newline)
(set! i (+ i 1))
(l "ignore")))
这不起作用:
(define call/cc call-with-current-continuation)
(define l 0)
(define i 0)
(begin
(call/cc
(lambda (k)
(set! l k)))
(write i)
(newline)
(set! i (+ i 1))
(l "ignore"))
唯一的区别是一个使用 lambda 和一个使用 begin 块。 为什么第二段代码不起作用?
谢谢
【问题讨论】:
标签: scheme racket continuations callcc