spacesZero ビルド記述子オプションは、生成されるプログラムに、スペースで埋められた数値変数を処理する追加コードを組み込むかどうかを指定します。
次の特性を持つ変数については、特別な状態が関係します。
- プリミティブ型 NUM または NUMC を指定して EGL で宣言されていた。
- 変数が CHAR 型の構造体項目に従属している場合などに、スペースが含まれていることがある。
スペースとその他の文字の組み合わせを受け取る変数に対しては、spacesZero ビルド記述子オプションは有効ではありません。
このオプションは、下の表に示すように、v60NumWithCharBehavior ビルド記述子オプションの値の影響を受けることがあります。
表 1. v60NumWithCharBehavior が spacesZero に及ぼす影響| spacesZero |
v60NumWith-CharBehavior |
数値ソースはブランク |
テキスト・ターゲット |
結果 |
| 該当なし |
YES |
NUM |
CHAR |
v60NumWithCharBehavior が優先されます。- spacesZero の効果はありません。
- 割り当てはバイト移動として行われます。
- 比較はバイト比較として行われ、NUM フィールドの値は変更されません。
|
| 該当なし |
YES |
NUM |
CHAR 以外の任意のテキスト・ターゲット |
v60NumWithCharBehavior は適用されません。- 数値割り当てまたは比較
- 動作は、v60NumWithCharBehavior = "NO" (この表の次の 2 行を参照) の場合と同じです。
|
| NO |
NO |
NUM |
任意のテキスト・ターゲット |
v60NumWithCharBehavior は適用されません。- 数値割り当てまたは比較
- NUM ソースのデータは無効な数値です。
- 例外がスローされます。
|
| YES |
NO |
NUM |
任意のテキスト・ターゲット |
v60NumWithCharBehavior は適用されません。- 数値割り当てまたは比較
- spacesZero = "YES" が受け入れられます。
- NUM フィールドは、割り当てまたは比較の前に 0 に変更されます。
|
| NO |
該当なし |
NUMC |
任意のテキスト・ターゲット |
v60NumWithCharBehavior は NUMC 型に影響を与えません。- 数値割り当てまたは比較
- NUMC ソースのデータは無効な数値です。
- 例外がスローされます。
|
| YES |
該当なし |
NUMC |
任意のテキスト・ターゲット |
v60NumWithCharBehavior は適用されません。- 数値割り当てまたは比較
- spacesZero = "YES" が受け入れられます。
- NUMC フィールドは、割り当てまたは比較の前に 0 に変更されます。
|
| 該当なし |
該当なし |
数値ソースとテキスト・ターゲットのその他の任意の組み合わせ |
v60NumWithCharBehavior はこれらの型に影響を与えません。spacesZero はこれらの型に影響を与えません。- 数値割り当てまたは比較
- 数値フィールドが無効の場合 (例えば、DEC または PACF の場合) は、例外がスローされます。
|
値
- NO (デフォルト値)
- スペースをゼロと解釈するために必要な特別なコードを含めません。
プログラム内 NUM または NUMC 変数にスペースが含まれていないことがわかっている場合は、NO を指定します。実行時にコードの効率が向上するため、NO がデフォルトになります。
- YES
- スペースを含む NUM または NUMC 変数がプログラムまたは関数スクリプト内で処理
されたときに異常終了しないように、特別なコードを含めます。
その変数は、スペースがゼロであったかのように処理されます。