3
在方案,有可能使用set!
創建共享在它們之間的私人範圍的兩個(或更多個)的功能:頂級功能私下共享範圍
(define f1 #f) ; or any other "undefined" value
(define f2 #f)
(let ((private some-value) (another-private some-other-value))
(set! f1 (lambda ... <use of private variables> ...))
(set! f2 (lambda ... <use of private variables> ...)))
,或者通過使用第三個變量:
(define functions
(let ((private some-value) (another-private some-other-value))
(list (lambda ... <use of private variables> ...)
(lambda ... <use of private variables> ...))))
(define f1 (car functions))
(define f2 (cadr functions))
然而,這兩種似乎不雅,由於在第一和第二左過可變functions
使用set!
。有沒有辦法做到這一點沒有?
謝謝!只有一件事,第二行應該是'(讓((私人值)...)' – ikdc