Bonjour je debute en lisp et j'ai un probleme avec un programme en faite j'aimerai transformer une liste en sous liste exemple
(kakashi05) et j'aimerai obtenir ((k)(a)(k)(s)(h)(i)(0)(5))
je vous montre mon code et quelque precision lorsque la liste est vide il me renvoi bien "vide" par contre il n'arrive pas à executé la deuxieme condition
voila l'erreur que j'obtiens lorsque je lui passe des parametres à la liste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CL-USER 17 : 6 > (defun pointe (liste) (cond ((null liste) (print "vide")) (t ( cons ( car liste ) pointe ( cdr liste))))) POINTE CL-USER 18 : 6 > pointe () "vide" "vide"
si quelqu'un à une idee je suis preneur
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
16
17
18
19
20
21
22
23
24
25 CL-USER 19 : 6 > pointe (kakashi05) Error: Undefined operator KAKASHI05 in form (KAKASHI05). 1 (continue) Try invoking KAKASHI05 again. 2 Return some values from the form (KAKASHI05). 3 Try invoking something other than KAKASHI05 with the same arguments. 4 Set the symbol-function of KAKASHI05 to another function. 5 Set the macro-function of KAKASHI05 to another function. 6 (abort) Return to level 6. 7 Return to debug level 6. 8 Return to level 5. 9 Return to debug level 5. 10 Return to level 4. 11 Return to debug level 4. 12 Return to level 3. 13 Return to debug level 3. 14 Return to level 2. 15 Return to debug level 2. 16 Return to level 1. 17 Return to debug level 1. 18 Return to level 0. 19 Return to top loop level 0. Type :b for backtrace, :c <option number> to proceed, or :? for other options
Merci
Partager