--- Test --- An object with multiple methods. | script | lisp interpreter fixture | | show | evaluate text |!- (defun counter-class () (let ((counter 0)) (lambda (msg) (case msg ((:inc) (setq counter (+ counter 1))) ((:dec) (setq counter (- counter 1))))))) -!| | show | evaluate text | (setq my-counter (counter-class)) | | check | evaluate text | (funcall my-counter :inc) | 1 | | check | evaluate text | (funcall my-counter :inc) | 2 | | check | evaluate text | (funcall my-counter :inc) | 3 | | check | evaluate text | (funcall my-counter :dec) | 2 | | check | evaluate text | (funcall my-counter :dec) | 1 | | check | evaluate text | (funcall my-counter :dec) | 0 |