この場合、自作命令を呼んだとき変数X,Yが書き換わってしまい LOCATE X,Yが正しく実行できずエラーになってしまう。 こんなことにならないために、自作命令・関数内で変数を使う場合はローカル変数を作り、それを使う。 A=1:B=2 SETA:SETB ? A,B DEF SETA A=10 '←呼び出し元の変数Aを壊してしまう END DEF SETB VAR B '←ローカル変数Bを宣言 B=20 '←ローカル変数Bを変更しても呼び出し元の変数Bは変わらない END これを実行すると 10 2 と表示される