Salut,
Je vais essayer de faire simple:
Alors voila j'ai un fichier : "data.ss" dedans on trouve juste ceci (une constante):
(Contact 25)
Au début de mon programme (main.scm), je récupère cette donnée comme ceci:
1 2 3
| (define NBCONTACT
(when (file-exists? "data.ss" )
(call-with-input-file "data.ss" (...) |
Aucun problème avec ceci, si je demande:
(equal? NBCONTACT 25) --> #t
Maintenant, j'ai une méthode qui ajoute un contact donc il faut modifié la valeur de NBCONTACT je fais ceci :
1 2 3 4 5 6
|
(define (reload a)
(when (file-exists? "data.ss" )
(call-with-output-file "data.ss"
(lambda (p-out)
(fprintf p-out "(Contact ~a)\n" a)) 'replace))) |
la méthode reload remplace une nouvelle valeur dans "data.ss".
si je fais (reload 66):
et que j'ouvre data.ss je trouve bien (NBCONTACT 66).
Mais si je demande NBCONTACT il me renvoie 25 .......
Si je recompile le programme NBCONTACT deviens bien 66.
Donc comment faire pour que Actualiser directement cette variable sans avoir à recompiler le programme, existe il une méthode qui "refresh" ?
Parce que je compte faire un exécutable une fois le programme terminé, et je veux pas devoir relancé le programme à chaque changement !!!
Merci d'avance.
Partager