j'utilise mal le car (qui prend le premier terme d'une liste) et on m'envoie l'erreur "car: expects argument of type <pair>; given ()" lorsque que je veux utiliser ma fonction remplaceliste et je ne comprend pas pourquoi. Du coup je ne peux pas regarder si ma fonction marche ou pas...
voici la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 ;;FONCTION REMPLACELISTE QUI REMPLACE TOUTES LA VALEURS DE LA LISTE1 PRESENTES DANS LA LISTE2 PAR UNE AUTRE VALEUR COMMUNE (define (remplaceliste liste1 valeur liste2) (if (elem? (car liste1) liste2) (remplaceliste (cdr liste1) valeur (remplace (car liste1) valeur liste2)) (remplaceliste (cdr liste1) valeur liste2))) ;;FONCTION REMPLACE QUI REMPLACE UNE VALEUR D'UNE LISTE PAR UNE AUTRE (define (remplace v1 v2 liste) (define (locale acc a b list1) (cond ( (null? list1) (inverse acc)) ( (list? (car list1)) (locale ( cons (locale '( ) a b (car list1)) acc a b (cdr list1 )))) ( (eq? (car list1) a) (locale (cons b acc) a b (cdr list1)) ) (else (locale (cons (car list1) acc) a b (cdr list1))))) (if (list? liste) (locale '() v1 v2 liste)))
Partager