|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Chloé GarciaÉtudiant Inscription : avril 2012 Messages : 36 ![]() |
Bonsoir,
J'ai un soucis qui m'empêche de travailler un projet, qui marchait pourtant très bien avec l'ancienne version d'allegro common lisp. Voici ce que je faisais pour commencer mon programme : Code :
Je rentre des valeurs et je clique sur entrée mais rien ne se passe. Ensuite, en appuyant une fois de plus sur entrée, j'ai une erreur qui s'affiche : NIL n'est pas de type caractère. Le NIl en question correspond à mon second appui sur entrée. Sur l'ancienne version, 8.2, tout fonctionnait très bien et le programme marchait dans sa globalité. Ici, avec la dernière version, la deuxième ligne ne marche même pas =( Que se passe-t-il ? Du jour au lendemain, tous mes programmes se servant de la fonction read ne fonctionnent plus. Pourquoi ? S'il n'y a pas d'explication, existe-t-il d'autres fonctions récupérant une chaine de caractère (nombre ou lettres) ? Je suis un peu paniqué car je ne trouve pas de solutions pour refaire fonctionner mes programmes =/ Je vous remercie par avance pour votre aide ! Je cherche partout pour arranger les choses mais je ne trouve toujours rien et ça m'inquiète...! |
||
|
|
00
|
|
|
#2 | ||||||||
|
Membre Expert
![]() Inscription : avril 2008 Messages : 799 ![]() |
Bonjour,
N'ayant pas d'ACL sous la main, je ne peux pas faire de tests. Désolé si tu as plusieurs occurrences d'un même groupe de lignes de code (probablement issues de copier/coller (Bouh! Pas bien! Ceci est d'autant plus valable si ce groupe est "proche" des fonctions système, comme ici, avec les entrées sorties. Cela te permettra aussi, entre autres, de simplifier la portabilité (si tu dois passer d'une version à une autre, voire d'une implémentation à une autre). Je te conseille donc de transformer ton code en (merci d'utiliser la balise 'CODE' ):Code :
L'ancienne version était: Code :
Code :
Peut-être est-ce un bug? Normalement, la fonction 'read' devrait bien lire une s-expr dans le flux d'entrée standard. ACL a-t-il une fonction 'readline' ou read-line' ? J'espère aussi que tu as structuré tes programmes en séparant la partie interactive de la partie traitement: Code :
|
||||||||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Chloé GarciaÉtudiant Inscription : avril 2012 Messages : 36 ![]() |
Merci pour votre réponse.
Je comprends ce que vous voulez dire et j'ai bien séparé les fonctions de traitement dans tous les cas. Je ne sais pas d'où peut venir le problème avec la fonction read. Une énigme. J'ai changé de logiciel, et ai choisi LispWorks sur lequel mon code fonctionne sans problème. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com