【发布时间】:2012-10-02 04:37:48
【问题描述】:
我在方案中有一个函数
(define (m-m f)
(let ((count 0))
(define (h-m-c?) count)
(define (r-c) (begin (set! count 0) count))
(define (m-f m)
(cond ((eq? m 'h-m-c?) (h-m-c))
((eq? m 'r-c) (r-c))
(else (set! count (+ 1 count)) f)))
m-f))
其中 m-f 是返回的函数。
然而,它不是返回一个值,而是返回
#<procedure:m-f>
代码似乎没有错误,为什么不返回可用值?
【问题讨论】:
-
过程作为值有什么问题?