defer されたワード 'cold
を使用して、 イメージの起動シーケンスに独自の初期化を追加できます。 'cold
は、 イメージ固有のコマンドライン処理 (つまり、 ファイルのロードと (-e
) 文字列の評価)が開始される直前に呼び出されます。
初期化を追加するシーケンスは通常以下のようになります:
:noname Defers 'cold \ do other initialization stuff (e.g., rehashing wordlists) ... \ your stuff ; IS 'cold
'cold
の後、 Gforth はイメージ用のオプションを処理し(see Invoking Gforth)、 別の defer
されたワードである bootmessage
を実行します。 これは通常は、 Gforth の起動メッセージを出力し、
他には何も行いません。
したがって、 ターンキー・イメージ(つまり、 拡張された Forth システムではなくアプリケーション用のイメージ)を作成したい場合は、 以下のいくつかの方法でこれを行うことができます:
'cold
にフックします。 その場合、 エンジンが OS
コマンド・ライン・オプションを処理しないように、 gforthmi --application
(see gforthmi)を使用してイメージをビルドすることも必要になるでしょう。 その後、 next-arg
を使用してあなた独自のコマンドライン処理を実行できます。
process-option
にフックします。
options
ボキャブラリーでワードを定義します。
bootmessage
にフックします。
いずれの場合も、 あなたは、 おそらくこれらのフックで execute するワードを普通に終了さずに、 bye
または
throw
を使用したいでしょう。 そうしないと、 Gforth 起動プロセスが続行され、 最終的に Forth
コマンド・ラインがユーザーに表示されます。
'cold
( – ) gforth-0.2 “tick-cold”
OS コマンドライン引数を解釈(interpret)する直前に何かするためのフック( defer されたワード)。 あなたが実行したい幾つかの初期化を行うためにあります。 通常、 あなたが実行したいいくつかの初期化も行います。
bootmessage
( – ) gforth-0.4 “bootmessage”
OS コマンドライン引数を解釈(interpret)した直後のフック(deferされたワード)。 通常は Gforth 起動メッセージを出力します(訳注: つまり、 あなたが何かしらワードをセットすると起動メッセージは出力されなくなります)。
process-option
( addr u – true / addr u false ) gforth-0.7 “process-option”
オプション addr u を処理し、 オプションが処理された場合は true を返します。 未処理のオプションは
required
を通じてファイルとしてロードされます。