Bonjour,
Je m'initie à Scheme à partir des articles de Linux Magazine.
J'ai réimplémenté memq comme ceci:
Mais j'obtiens une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 (define (memq obj lst) (if (eq? obj (car lst)) lst (memq obj (cdr lst)))) (display (memq 3 '(1 2 3 4 5))) (display (memq 6 '(1 2 3 4 5)))
Error: (car) bad argument type: ()
Call history:
<eval> [memq] (memq obj (cdr lst))
<eval> [memq] (cdr lst)
<eval> [memq] (eq? obj (car lst))
<eval> [memq] (car lst)
<eval> [memq] (memq obj (cdr lst))
<eval> [memq] (cdr lst)
<eval> [memq] (eq? obj (car lst))
<eval> [memq] (car lst) <--
(3 4 5)
Partager