« 【講座】HSPたまひよ塾 - 第4回「変数を使ってみよう」 | メイン | 【講座】HSP3ワンポイントテクニック 第5回 »

2006年01月14日

【講座】HSP3ワンポイントテクニック 第4回

このコーナーでは、HSP3の変わった使用例や、気がつきにくい機能など
を紹介していきたいと思います。
HSP3になって拡張された機能の1つにデバッグ支援があります。
デバッグ支援は、スクリプトが実行されて変数やバッファなどの内容が正
しく変化しているかを確認するための助けになります。
HSP2.61では、デバッグウィンドウと履歴付き実行という機能によりデバ
ッグ支援を行なっていました。HSP3では履歴付き実行の替わりにメッセー
ジログ機能、デバッグウィンドウではステップ実行、実行の強制停止など
が盛り込まれました。

 メッセージログ機能は、見落としがちですが、デバッグウィンドウの
「ログ」というタブに任意のメッセージを表示しておくためのものです。
スクリプト実行中の変数の内容などを調べたい場合、dialog命令やtitle
命令などを使って一時的に表示させることができますが、実行を中断して
しまったり、画面上で見難くなる可能性がありました。logmes命令は、
HSPのウィンドウとは別な場所にメッセージを表示するため、実行の見た
目はそのままにデバッグ用のメッセージ確認ができます。
assert命令は、スクリプトの中である条件を満たすかどうかを確認するた
めの命令です。たとえば、変数aの値が10より少ない場合にしか正しく
動作しないスクリプトがあったとすると、

if a>=10 : dialog "aの値がおかしい!"

のようなスクリプトでチェックしておくと安心ですよね。
assert命令は、この代わりに以下のように書きます。

assert a<10

 この1行が実行された時点で、変数aの値が10より少ない場合は、
何もせずに次の行から実行が続けられます。変数aが10以上の場合は、
デバッグウィンドウを表示して実行を中断します。
assert命令のパラメーターには、通過するための条件を書かなければなら
ないので注意してください。assert命令のポイントは、[F5]を押して実行
している場合、つまりデバッグ時にのみ有効だということです。
実行ファイルを作成した場合には、assert命令そのものがコードに含まれ
なくなります。つまり、デバッグ時にはより細かいチェックをしておき、
実行ファイルを作成した場合には余計なチェックを省いて高速に動作させ
ることができるようになるわけです。

デバッグ支援機能の使い方は、人それぞれのスタイルがあると思いますか
ら、自分に合った方法を探してみるといいでしょう。

(おにたま)

投稿者 usuaji : 2006年01月14日 03:39

口臭チェッカー市場