>そこから実行されてしまうというイメージでしょうか。
この考え方はOKです。ただしその前の
>インクルードした瞬間にその場所にコードが貼り付けられてしまい
というのは補足が必要ですね。
「インクルードした瞬間」、それはプログラムの実行時ではありません。
実行時には#Include命令というものは存在しないからです。
#includeはプリプロセッサ命令であることに注意してください。
プリプロセッサ命令は、コンパイル(中間コードへのコンバート)の前に解釈されます。
コンパイルを行う前、#includeのある位置へ、指定したファイルの内容が展開されます。
コンパイルはその後。
コンパイルされた結果のコードが実行されるのは、更にその後。EXEの作成も同様。
No.567の例だと、プリプロセッサ機能が働いた結果、以下のようなスクリプトが
コンパイラに渡されています。
//ーーーーーーーーーーーーー キャラクタージェネレータ
*人物作成
return
人物数=100
ct=1
while ct<=人物数
gosub *人物作成
ct++
wait 1
wend
end
当然、人物作成のルーチンが、真っ先に実行されます。Gosub呼び出しではありません。
標準エディタのF5キーを押すと、実行まで連続していっぺんでやってしまうのでイメージ
しにくいかもしれませんが、スクリプトが走る前に#include命令は役目を果たしており
インクルード対象ファイルの内容に取って代わられているのです。
なお、大抵のコンパイル言語にいえますが、プリプロセッサ機能には言語本来の仕様とは
別のルールがあったりするので、注意が必要です。