« 【よみもの】「うしくんと話そう」 第6回 HSPTVコンテストの巻き | メイン | 【講座】HSPよく使うフレーズ 第12回 ペイントソフトっぽいもの »

2006年08月01日

【講座】「教えて!おにたま!!」

<姫野さんからのおたより>

あるスクリプトで「プリプロセッサ命令」が書かれている行の
コメントに「¥」マークが入っていました。
この「¥」マークをはずすとエラーになってしまいました。
まだまだ初心者の域をでないまま「プリプロセッサ命令」を
よくわからないまま使っているせいだと思いますが、
コメントに「¥」マークがあるかなしかで、動いたり、
動かなかったりするのがよくわかりません。

<こたえ>

「教えて!おにたま!!」へのお便りありがとうございます(^^
「プリプロセッサ命令」というのは、最初に「#」の記号が入っている
命令のことで、1行に1つしか書けないなど通常の命令とは使い方が
異なっています。
どうして、このような分かり難い仕組みになっているかと言うと、
命令を実行するタイミングが違うからなのです。普通の命令は、
スクリプトが上から順番に読み込まれて実行されます。
たとえば、mes命令で文字を表示する前にwait命令があったら、
wait命令で時間を待ってから、mes命令が実行されることになります。
これに対して、最初に「#」の記号が入っているプリプロセッサ命令は、
[F5]キーを押して実行を開始する時点ですでに機能が果たされています。
たとえば、「#include」は、指定したファイルを結合するための
命令ですが、「#include」の位置がスクリプト内のどこにあっても
結合は行なわれます。
さて、コメントにある「¥」マークについてですが、これは
プリプロセッサ特有の行接続ルールが関係していると思われます。
プリプロセッサ命令が書かれた行は、最後に「¥」マークを置くことで
次の行を接続することができます。

#include "hspext.as" ;test\
mes "TEST"
stop

上のようなスクリプトでは、mes命令が無視されてしまいます。
これは、「#include」のある行と次の行が「¥」マークによって
接続されて、

#include "hspext.as" ;testmes "TEST"

のように解釈されているためです。
コメント内の文字列が解釈されるのが特殊なので、戸惑うことが
あるかもしれませんが、仕組みがわかっていれば大丈夫です。
それでは、またまた。
HSPに限らず、PCのコトやプログラミング関係どんなことでも
お便り待っています。

(おにたま)

投稿者 usuaji : 2006年08月01日 01:34

口臭チェッカー市場