睡眠功能(睡眠 x 秒)(Maxima)

sleep function (sleep for x seconds) (Maxima)

此函数休眠 x 秒,是否有更好的休眠函数,也许行数更少或使用的内存更少(例如,没有 'expand' 行)?

此外,它还可以更准确,尽管对于我的需要来说,准确度已经足够了。
编辑:我的主要用途是短暂延迟,在创建时查看主要 window 中的图像。

我知道'?\*autoconf\-version\*;'可以给出 Maxima 版本号,所以也许有一些未记录的方法可以在一段时间内休眠。

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)
)$

测试休眠功能:

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())$

编辑 2:一些有用的代码(原来的问题已解决)

:lisp (sleep 1)
?sleep(1)$
?sleep(1);
sleep(x) := ?sleep(x);

编辑 3:一些有用的链接

[Lisp 和 Maxima]
Maxima 5.39.0 手册:37. 程序流程
http://maxima.sourceforge.net/docs/manual/maxima_37.html

[如何抑制lisp函数的输出]
Maxima——基于 DOE-MACSYMA/邮件列表的 GPL CAS
https://sourceforge.net/p/maxima/mailman/message/33016361/

Maxima是用lisp写的,你可以使用lisp命令:

:lisp (sleep 1)