変数名は システムで使用する記号以外 の文字で構成してください。
予約された記号とは
+-*/,.:;()= 等が有り。
それ以外なら、全て変数名として使用する事が出来ます。
変数名として使用できる記号としては
_(アンダースコア) と @(アットマーク) が有ります
それ以外の記号を使用すると 名前が分割された物として動作する事に成ります
例として
_a@変数1=1 // 変数に 1 を代入
_a@変数1+=1// 変数に 1 を加算
mes _a@変数1
を実行した場合は 画面に 2 が表示されます。
ちなみに @(アットマーク) は 変数名として動作しますが、基本使用するべきではありません。
それはモジュール機能に起因します。
#module mod
#deffunc set
a=1
b=2
c=3
return
#global
set
mes a@mod
mes b@mod
mes c@mod
上のスクリプトを実行して見ればわかると思いますが。
コンパイラが変数名@モジュール名 の 様に解釈している為です。
ちなみに上のスクリプトは、コンパイルした際に 以下の様な形に内部で変換されています。(多少簡略化しています)
@(アットマーク)が内部で領域の区別の為に使用されている事が解ります。
goto@hsp *_mod_exit
#deffunc set
a@mod=1
b@mod=2
c@mod=3
return@hsp
*_mod_exit
set
mes@hsp a@mod
mes@hsp b@mod
mes@hsp c@mod