这是Racket教程的一个例子。
(define (square n)
(filled-rectangle n n))
(define series
(lambda (mk)
(hc-append 4 (mk 5)(mk 10)(mk 20))))
(define (rgb-series mk)
(vc-append
(series (lambda (sz) (colorize (mk sz) "red")))
(series (lambda (sz) (colorize (mk sz) "green")))
(series (lambda (sz) (colorize (mk sz) "blue")))))
(define (rgb-maker mk)
(lambda (sz)
(vc-append (colorize (mk sz) "red")
(colorize (mk sz) "green")
(colorize (mk sz) "blue"))))
我认为功能rgb-series和rgb-maker正在做同样的事情。但是,他们的输出完全不同。
我无法弄清楚原因。任何人都可以解释两个功能之间的区别吗?谢谢