【2008/11/21 original author TAKAO】
今回は、REXX自身への命令について書いてみます。
DROP
後ろに記述した変数を「なかったもの」にしてくれます。大きな配列などを使った後「メモリーが心配だなぁ。」と思ったらやっておきましょう。
INTERPRET
後ろに続く文字列をREXXコマンドとして処理します。
NUMERIC
NUMERIC DIGITS 式
この指定は、数値計算の桁数を指定します。とてもありがたい機能で、電卓だとすぐにべき乗表示になるところをメモリーの許す限り、整数演算してくれます。
NUMERIC FORM
これは、キーワードだけでNUMERIC FORM SCIENTIFICまたはNUMERIC FORM ENGINEERINGを指定します。ENGINEERINGは、「10の累乗が必ず3の倍数になる」形式だそうです。
NUMERIC FUZZ 式
式の桁だけ数値比較で桁を無視します。
OPTIONS
この指定はプログラムの最初にしましょう。OPTIONS ETMODEと指定すると、文字列やコメントがDBCSを含むという処理をします。逆にDBCS文字列かどうかを無視する場合、OPTIONS NOETMODEと指定します。OPTONS EXMODEは、命令、演算子、関数においてDBCS文字列として処理します。OPTIONS NOEXMODEとすると、すべてをバイト単位で処理します。
TRACE
デバッグのトレースです。後ろには、
- All -すべてを実行前にトレース
- Commands -コマンドを実行前にトレース
- Error -実行の結果、エラーを起こしたコマンドについて表示
- Failure -障害発生したコマンドがあれば、表示
- Intermediates -式の結果、中間結果、置換された名前なども表示
- Labels -実行中、通過したラベルをトレース
- Normal -負の戻りコードだけを出力(これがデフォルト)
- Results -すべての式の評価結果を表示します。トレースする際には、これが期待にこたえると思います。
- Scan -実行はせずにトレースするので、シンタックスチェックに近いです。
- ? -デバッグが対話式になります。
以上で、いわゆるREXXコマンドについてはひととおり説明をしました。
【2008/11/21 original author TAKAO】