Je ne comprends pas pourquoi ce code se comporte différemment dans différentes implémentations:le format Lisp et la sortie de force
(format t "asdf")
(setq var (read))
En CLISP il se comporte comme on pouvait s'y attendre, avec l'invite imprimée suivie par la lecture, mais SBCL lit, puis sorties. J'ai lu un peu sur Internet et changé:
(format t "asdf")
(force-output t)
(setq var (read))
Ce, encore une fois, fonctionne très bien dans CLISP, mais SBCL il encore se lit, puis les sorties. J'ai même essayé de le séparer en une autre fonction:
(defun output (string)
(format t string)
(force-output t))
(output "asdf")
(setq var (read))
Et il lit encore, puis sort. Est-ce que je n'utilise pas correctement force-output
ou est-ce juste une idiosyncrasie de SBCL?
merci, cela a fonctionné! –
Une autre option, selon [Practical Common Lisp] (http://www.gigamonkeys.com/book/practical-a-simple-database.html), est d'utiliser le global * * query-io * 'au lieu de t ou nul. – lindes