ユーザ用ツール


reference:ver3とver4の違い

Ver3とVer4の違い

ここでは、BASIC言語の構成要素単位での大きな違いのみを説明しています。
命令単位の細かい違いは大量にあるため、割愛します。

変数型

Ver3

変数自体が型を持っており、変数名のサフィックスによって型が決定し、変数型と互換性のない値を代入はできませんでした。ただしDEF引数は例外で、仮引数名の型サフィックスに関わらず、呼び出し側で設定する実引数の型により変数型が決定していました。

Ver4

変数は型を持たず、常に任意の型の値を代入できます。変数名サフィックスは互換性維持のため残されていますが、変数定義時の初期値を決める機能しか残されていません。A$=100 という記述はVer4では(推奨しませんが)正しい記述です。

配列

Ver3

配列は定義時の型と次元設定により扱いが厳密に決められ、定義後の明示的な拡張、次元変換はできませんでした。
配列定義時に要素の初期化ができず、DATA文やREAD命令,COPY命令との併用が必要でした。

Ver4

2次元以上の配列はすべて1次元配列のサブセットであり、1次元配列として参照が可能です。ただし自動拡張を行うような命令では明示的に1次元配列である必要があります。
配列の明示的な拡張が可能です。
配列定義時と同時に要素の初期化が可能です。この場合、配列の要素数も省略可能です。
要素の初期化を行わない場合も配列要素数の省略が可能です。この場合要素数ゼロの1次元配列として定義されます。

システム変数の廃止

システム変数はすべて廃止となり、代替の関数・命令・定数に移行しました。

行の継続

行末にバックスラッシュ(&H5C)を書くと、次の行も現在行の継続として扱います。長い行を改行で整形して記述可能です。

型の識別

値の型を識別する関数が追加になりました。また配列の次元数や次元毎の要素数を取得する関数も追加になりました。

制御構文

CASE文(場合分け)とLOOP文(無限ループ)が追加になりました。

ユーザー定義定数

ユーザーが定数を定義できる機能が追加になりました。

CONST #定数名 = 定数式

で定数を定義できます。

また、連番の定数を定義するENUM文も追加になりました。

定数は整数型、実数型、文字列型の値を定義可能です。また定数式には項が定数の式と、一部の関数を使用可能です。詳細はCONST文のリファレンスを参照して下さい。

定数定義は実行前に行われる事に注意して下さい。変数を用いた定数定義はできません。

設定と取得は同じ命令で行う

Ver4では、命令を覚える手間を省くため、取得と設定は可能な限り同じ命令で行う事を徹底しています。
例えばVer3まではカーソル位置の設定はLOCATE、取得はCSRXとCSRYでしたが、Ver4では取得もLOCATE OUTとなります。
また、従来設定できたけれども取得できなかったパラメータに関しても可能な限り取得できるようにしています。

画面要素

描画色は16bitカラー(RGBA5551)から32bitカラー(ARGB8888)に変更となりました。アルファチャネルは常に有効です。
BGとグラフィック画面表示はそれぞれテキストスクリーンとスプライトに統合され廃止になりました。
テキスト面は5枚表示可能となりました。
スプライト毎に参照するグラフィックページを設定できるようになりました。
表示のクリッピングは種類毎ではなく、レイヤーという表示グループ毎に設定するように変更されています。

文字コード

&H5Cが¥(円マーク)ではなく\(バックスラッシュ)になりました。
¥は&HA5を使用して下さい。

reference/ver3とver4の違い.txt · 最終更新: 2019/06/14 20:07 (外部編集)

ページ用ツール