wait関数は、一定時間が経過するか、または入力があるまで待機するように設計されています。例えば、ユーザーがディスプレイを確認する時間を確保するため、計算の途中で一時停止させたい場合があります。sit-forは一時停止して画面を更新し、入力があれば直ちに復帰しますが、sleep-forは画面を更新せずに一時停止します。
この関数は再表示を行い(ユーザーからの入力待ちがない場合)、その後 seconds
秒間、または入力が可能になるまで待機します。sit-for
の一般的な目的は、表示したテキストをユーザーが読むための時間を確保することです。sit-for
が入力のない状態で全待機時間経過した場合、値は t となります(その他のイベント入力機能 を参照)。それ以外の場合、値は nil となります。
引数 seconds は整数である必要はありません。浮動小数点数の場合、sit-for
は小数点以下の秒数を待機します。一部のシステムでは整数秒のみをサポートしており、こうしたシステムでは seconds は切り捨てられます。
式 (sit-for 0) は (redisplay) と同等です。つまり、保留中の入力がない場合、遅延なく再表示を要求します。再表示の強制 を参照してください。
nodisp が nil でない場合、sit-for は再表示されませんが、入力が利用可能になるとすぐに(またはタイムアウトが経過すると)戻ります。
バッチモード(バッチモードを参照)では、標準入力ディスクリプタからの入力であっても、sit-forを中断することはできません。したがって、これは後述するsleep-forと同等となります。
この関数は、ディスプレイを更新せずに単にseconds秒間一時停止します。利用可能な入力は無視します。nilを返します。
引数 seconds は整数である必要はありません。浮動小数点数の場合、sleep-for は小数点以下の秒数を待機します。
sleep-for を (sleep-for seconds millisec) と同様に 2
つの引数で呼び出すことも可能ですが、これは非推奨とされており、将来的には削除される予定です。
遅延を確実に保証したい場合は、sleep-for を使用してください。
現在時刻を取得する関数については、時刻を参照してください。