Bonjour,

Je suis bloquée sur un exercice depuis un assez long moment, il faut créer un seau remplie avec (set 'seau '(o o o o)) , et ensuite le vider en utilisant cons et eval (pour évaluer l'expression) :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Break 1 [5]> (cons 'loop (cons 'cond (cons (cons 'not (cons 'seau nil)) (cons '(return seau) (cons 'pop (cons 'seau nil))))))
(loop cond (not seau) (return seau) pop seau)
Donc comme l'expression est fausse , lorsque je teste la variable seau , l’interprète me renvoie toujours un seau rempli ...


En principe , il faut arriver à l'expression suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 (loop (cond ((not seau) (return seau))) (pop seau))
pour obtenir une bassine vide soit nil .


J'ai essayé de suivre le raisonnement de l'exemple (+ 10 5) , mais je ne vois pas où se trouvent mes erreurs , à part le manque de quote , et l'utilisation de la fonction eval (au début).


Je ne demande pas une réponse , mais plutôt une petite piste