Next: Quitting, Previous: Special Events, Up: Command Loop
待機関数は、指定時間経過するか入力がくるまで待つように設計してあります。
たとえば、ユーザーに表示を眺める時間を与えるために
計算途中で休止したいでしょう。
sit-for
は、休止してスクリーンを更新し、
入力がくるとただちに戻ります。
一方、sleep-for
はスクリーンを更新せずに休止します。
この関数は(処理待ちのユーザーからの入力がなければ)再表示を行い、 seconds秒休止するか、入力がくるまで待つ。 入力がこずに(Event Input Miscの
input-pending-p
を参照) 指定時間だけ休止した場合は、戻り値はt
である。 さもなければ、戻り値はnil
である。引数secondsは整数である必要はない。 それが浮動小数点数であると、
sit-for
は秒の小数も待つ。 秒単位しか扱えないシステムもあり、 そのようなシステムではsecondsを秒に切り下げる。省略可能な引数millisecは、ミリ秒単位の追加待ち時間を指定する。 これはsecondsで指定した時間に加えられる。 秒未満を扱えないシステムでは、 millisecに0以外を指定するとエラーになる。
入力がくると再表示をつねに取り止め、 再表示開始まえに入力がくると、いっさい再表示しない。 したがって、処理待ちの入力があると、再表示を強制する方法はない。 しかし、処理待ちの入力がなければ、
(sit-for 0)
で再表示を強制できる。nodispが
nil
以外であると、sit-for
は再表示はしないが、 入力がくるとただちに(あるいは指定時間だけ経過すると)戻る。フレームをアイコンにしたりアイコンにしたフレームを開くと イベントが生成されるため、
sit-for
は戻る。 see Misc Events。
sit-for
の普通の目的は、 読者が表示したテキストを読む時間をユーザーに与えることである。
この関数は表示を更新せずに単にseconds秒だけ休止する。 入力にはいっさい注意を払わない。
nil
を返す。引数secondsは整数である必要はない。 それが浮動小数点数であると、
sleep-for
は秒の小数も待つ。 秒単位しか扱えないシステムもあり、 そのようなシステムではsecondsを秒に切り下げる。省略可能な引数millisecは、ミリ秒単位の追加待ち時間を指定する。 これはsecondsで指定した時間に加えられる。 秒未満を扱えないシステムでは、 millisecに0以外を指定するとエラーになる。
遅延を保証したい場合に
sleep-for
を使う。
現在時刻を取得する関数についてはSee Time of Day。