Функция закрытия схемы - PullRequest
       1

Функция закрытия схемы

1 голос
/ 11 октября 2011

Мне дали этот бит кода Scheme, и мне было поручено перевести код на Perl.

(define (makecounter)
 (let ((x 0)) (lambda () (begin (set! x (+ x 1)) x))))

Я знаю, что это должна быть функция закрытия, но я не могувполне понимаю, что это должно делать.Есть идеи?

1 Ответ

5 голосов
/ 11 октября 2011

Подсказка:

(define c1 (makecounter))
(define c2 (makecounter))
(c1)
=> 1
(c1)
=> 2
(c1)
=> 3
(c2)
=> 1
(c2)
=> 2
(c1)
=> 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...