フック
プログラム関連で出てくるよ
プログラムの中に独自の処理を割り込ませるための仕組みだよ
あるいは、本来の処理を横取りして独自の処理を割りこませることだよ
簡単に書くよ
フック(英:hook)とは
プログラムの中に独自の処理を割りこませるために用意されている仕組み。
もしくは
プログラムにおいて、本来の処理を横取りして独自の処理を割りこませること
です。
詳しく書くよ
正直言って、よく分かりませんでした。自信を持って「これがフックだ!」と言える程、理解はしていません。
以下は現時点の私なりの解釈です。
例えばプログラムの作りとして、処理1→処理2→処理3と流れるとします。
この流れにおいて、処理2から処理3へのつながりを横取りします。
そんで、横取りした先に独自の処理4をくっつけます。
処理4の戻りを処理3にくっつけます。
処理4が処理2に対しては処理3っぽく振る舞い、処理3に対しては処理2っぽく振る舞えば、おかしなことにはならないはずです。
あるいは、プログラムの作りとして、処理1→処理2→処理3と流れるとします。
処理2の中身は空っぽです。
処理1と処理3が直接つながっているのと変わりません。
プログラムを作る人は後から処理2の中身を追加できます。
処理2に独自の処理を書けば、処理1と処理3の間に実行されます。
これは処理1と処理3の間に独自の処理を割り込ませたと言えます。
このように
本来の処理を横取りして独自の処理を割り込ませること
あるいは
独自の処理を割り込ませるにあらかじめ用意されている仕組み
が「フック」です。
ぐいっと横取りして、知らん顔してつないで、何もなかったかのように戻します。
個人的には「処理を横取りする」「独自の処理を割り込ませる」「仕組み」がポイントだと思っています。
一言でまとめるよ
まぁ「フック」って単語が出てきたら「独自の処理を割り込ませるための仕組みなんだな~」と お考えください。
おまけ
■訳してみるよ
「hook(フック)」の意味は
・鉤(カギ)
・留め金
・フック
とかです。






