M1000まとめサイト
OPL:変数
最終更新:
匿名ユーザー
-
view
<<OPLで開発
変数
OPLでは他のプログラム言語と同様に変数が設定でき、型やスコープといった概念が存在します。変数を使用する時は使用する前に宣言をする必要があります。以下のサンプルコードは整数型のローカル変数を作成し、値を代入して表示させるものです。
PROC main: LOCAL integer% integer% = 10 PRINT integer% ENDP
変数名
変数名には以下の制限があります。
- 32文字以内。
- 使用できる文字は「アルファベット(A-Z)」「数字(0-9)」「アンダースコア(_)」の三種類。
- 先頭に数字は使用できない。(アンダースコアはOK)
型
OPLで扱える型は「実数型(64bit)」「整数型()」「長整数型」「文字型」の4種類あります。型は宣言する時に変数名の後ろに各型に対応したシンボルを記述して設定します。各型のシンボルと有効範囲は以下の通りです。
型名 | シンボル | 有効範囲 |
実数型 | 無し | 64bit浮動小数点(-1.79769313486232e308~1.79769313486232e308) |
整数型 | % | 16bit整数値(-32768~+32767) |
長整数型 | & | 32bit整数値(-2147483648~+2147483647) |
文字型 | $ | 1文字 |
スコープ
変数は使用する前に定義する必要がありますが、定義する時にスコープを決める必要があります。スコープは「ローカル変数」と「グローバル変数」の2種類あります。ローカル変数は定義したプロシージャの内部でのみ使用可能で、グローバル変数は定義したプロシージャ以外のプロシージャで使用可能です。定義する時はローカル変数は「LOCAL」、グローバル変数は「GLOBAL」と記述します。
PROC main: LOCAL l% GLOBAL g% l% = 5 g% = 10 PRINT l% sub_routine: ENDP PROC sub_routine: PRINT g% ENDP
定数
変数を定義する時に「CONST」と指定するとその変数は「定数」として定義されます。定数として定義されたものは値を変更する事ができなくなります。なお定数の定義はプロシージャの外側で行わなければならず、定義されたもののスコープはグローバル扱いになります。
CONST %KWeek = 7 CONST %KFalse = 0 PROC main: PRINT %KWeek ENDP
配列
変数定義時に後ろに要素数を指定すると配列として定義する事ができます。ただし、配列の要素数の最大値は「255」までで、定義された配列の要素番号は「1」から始まります。
PROC main: LOCAL array%(10) array%(1) = 5 PRINT array%(1) ENDP
16進数表記
OPLでの16進数の表記方法は有効範囲によって使い分けます。有効範囲が整数型(16bit)の時は「$」、有効範囲が長整数型(32bit)の時は「&」を使用します。
整数型16進数表記 : $F 長整数型16進数表記 : &80000000
キャスト
(書きかけ)