2016-12-19 135 views
2

此功能睡眠x秒,是否有更好的睡眠功能,可能是更少的行數或使用更少的內存(例如沒有「擴展」行)?睡眠功能(睡眠時間x秒)(Maxima)

此外,它可能更準確,但對於我的需要,準確性已足夠。
編輯:我的主要用途是爲了在創建主視窗時查看圖像的短暫延遲。

我知道'?\ * 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); 

EDIT 3:一些有用的鏈接

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

【如何抑制口齒不清函數的輸出]
千里馬 - 基於DOE-MACSYMA /郵件列表GPL CAS
https://sourceforge.net/p/maxima/mailman/message/33016361/

回答

3

千里馬Lisp語言編寫的,你可以使用一個口齒不清命令:

:lisp (sleep 1) 
+0

非常感謝你,非常感謝! – vafylec

+0

我發現'lisp(sleep 1)'有效,但如果它是鍵入控制檯的第一件事情,它會掛起狀態欄消息:'Reading maxima output','?sleep(1)$'沒有這個問題 – vafylec