For Gauche 0.9.5


Next: , Previous: , Up: ライブラリモジュール - Gauche拡張モジュール   [Contents][Index]

9.11 gauche.hook - フック

Module: gauche.hook

フックオブジェクトを提供します。これは、特定のタイミングで 呼び出されるクロージャのリストを管理するものです。

フックのAPIはGuileのそれと上方互換で、下記のように拡張されています。

Class: <hook>

フックのクラスで、一度に呼び出される手続きのリストを保持しています。

<hook>クラスにはobject-applyメソッドが定義されているので、 あたかもそれが手続きであるかのようにフックオブジェクトを“適用”できます。 フックオブジェクトを適用すると、登録されている全ての手続きが呼び出されます。

Function: make-hook :optional (arity 0)

与えられたアリティ(正の整数でなければなりません)とともに新しい フックオブジェクトを作成します。

Function: hook? obj

objがフックオブジェクトであれば、真を返します。

Function: hook-empty? hook

hookの手続きリストが空なら、真を返します。

Method: add-hook! (hook <hook>) proc :optional (append? #f)

手続きprochookに追加します。 append?が与えられ真であれば、procはリストの最後に 追加されます。そうでなければ、procはリストの最初に追加 されます。 procは、make-hook時に与えられたアリティとともに 呼ばれなければなりません。

Method: delete-hook! (hook <hook>) proc
Method: remove-hook! (hook <hook>) proc

hookの手続きリストからprocを削除します。 Guileとの互換性のためだけに、remove-hook!delete-hook!の エイリアスとなっています。

Method: reset-hook! (hook <hook>)

hookの手続きリストを空にします。

Method: hook->list (hook <hook>)

hookの手続きリストのコピーを返します。

Method: run-hook (hook <hook>) arg …

hookの手続きを、arg …を引数として順番に呼び出します。 引数の数は、make-hook時に与えられたアリティにマッチしなければ なりません。


Next: , Previous: , Up: ライブラリモジュール - Gauche拡張モジュール   [Contents][Index]