HSPに関するQ&A
といっても誰かから質問があったわけではない(^^;
でも質問は受け付けてるのでよろしくね:-)。
Q.スクリプトは小文字で書かないといけないの?
A.えー、そんなことはありません。
スクリプトを大文字でかいた場合、実行時に内部で小文字に変換されるので大文字で書いてもまったく問題ありません。見やすさを考えると小文字で書いたほうがいい気もしますけどね。
当コーナーのスクリプトは、命令が小文字、変数・ラベルが大文字で書かれているのでわかりやすいのではないでしょうかと思うのですがどうでしょうか(なんじゃそりゃ)。
Q.命令とパラメータの間は空白を入れないといけないのでしょうか?
A.一部例外あり。
「mes "文字列"」や、「goto
*ラベル」は、「mes"文字列"」「goto*ラベル」のようにくっつけても実は問題なく動きます。変数や数値をパラメータに指定する場合はエラーが出ます(pos
x,yを、posx,yとするなど)。ただし見やすさを考えたらくっつけるわけにはいかないでしょう。話は横にそれますが、MSX-BASICは「fori=0to100」のようにビッタリとくっつけてもエラー一つ出さない素晴らしい(いろんな意味で)BASICでした。しかし98では命令とパラメータは話さないとエラーになるので、作者は98に移行したとき非常に苦労させられたのでありました(実話)。
Q.変数はアルファベットでないとダメですよね?
A.それが違うんですよ〜。
実は変数名はアルファベットじゃなくても動きますので、かなりオキテ破りなスクリプトを書くこともできます。
あ=1 ア=2 A=3 亜=4 @=5 ★=6 _=7 ア=8 (注:これは全角で書いてありますが、実際には半角カナです) stop |
上のスクリプトは、まったく問題なく動作します。ただし、半角の記号は使えないほうが多く、使えたのはアットマーク(「@」)とアンダーバー(「_」
Shift+ロ)、シングルクォート(「`」 Shift+^)の3つだけでした。また、全角文字は別の文字に化けることがありますので注意してください(「Debugウインドゥ表示」をONにして、上のスクリプトを実行してみてください。「ア」が「ヂ」になっています)。ラベルにもこれらは使用できます。
面白いことは面白いですが、打ち込むのが面倒だし、第3者が見てわかりづらくなる可能性もありますので、あまりおすすめしません。
1999/06/14補足:全角スペースも変数名として扱えるようです。意外な事実。でもよく考えたら当たり前か(2000/02/23追記)。