2008-11-21 7 views
0

J'ai le code suivant et je voudrais ajouter un 'message clair qui supprime tous les numéros stockés de la liste interne. Comment ferais-je cela?Comment effacer une liste interne dans Scheme?

 (define (make-stat) 
     (let ((values (list))) 
     (lambda (op . args) 
      (cond ((eq? op 'add)    
       (set! values (cons (car args) values))) 
       ((eq? op 'mean) 
       (if (null? values) 
        (error "can't take mean of empty data set") 
        (mean values))) 
       ((eq? op 'variance) 
       (if (null? values) 
        (error "can't take variance of empty data set") 
        (variance values))) 
       (else (error "unknown op" op)))))) 

Répondre

2

Est-ce que

((eq? op 'clear) 
(set! values '())) 

fonctionne pas? Je suppose que je ne comprends pas où est ta pierre d'achoppement.

Questions connexes