Cette fonction dort pendant x secondes, y at-il une meilleure fonction de sommeil, peut-être en moins de lignes ou qui utilise moins de mémoire (par exemple pas de ligne 'expand')?Fonction de veille (sommeil pendant x secondes) (Maxima)
En outre, il pourrait être plus précis, bien que pour mes besoins la précision soit suffisante.
EDIT: Mon utilisation principale est pour un court délai, pour voir les images dans la fenêtre principale à mesure qu'elles sont créées.
Je sais que '? \ * Autoconf \ -version \ *;' peut donner le numéro de version de Maxima, donc peut-être il y a une façon non documentée de dormir pendant une période de temps déterminée.
sleep(x) := for i : 1 do
(
if (i = 1) then (t:elapsed_real_time()),
if (elapsed_real_time() - t >= x) then return(),
expand ((a + b)^500)
)$
pour tester la fonction du sommeil:
print(0, timedate())$
sleep(1)$
print(1, timedate())$
sleep(2)$
print(2, timedate())$
sleep(3)$
print(3, timedate())$
sleep(4)$
print(4, timedate())$
sleep(5)$
print(5, timedate())$
EDIT 2: un code utile (problème initial résolu)
:lisp (sleep 1)
?sleep(1)$
?sleep(1);
sleep(x) := ?sleep(x);
EDIT 3: quelques liens utiles
[Lisp et Maxima]
Maxima 5.39.0 Manuel: 37. Flux de programme
http://maxima.sourceforge.net/docs/manual/maxima_37.html
[Comment supprimer la sortie de la fonction Lisp]
Maxima - GPL CAS basé sur DOE-MACSYMA/Listes de diffusion
https://sourceforge.net/p/maxima/mailman/message/33016361/
merci beaucoup, beaucoup apprécié! – vafylec
J'ai trouvé que ': lisp (sleep 1)' fonctionne, bien que si c'est la première chose tapée dans la console, il se bloque avec un message de barre d'état: 'Reading Maxima output', '? Sleep (1) $' n'a pas ce problème – vafylec