Record myRecordPart type serialRecord { fileName = "myFile" } 10 myTop; 20 myNext; 30 myAlmost; 40 myChar CHAR(10); 40 myChar02 CHAR(10); end
ある関数で、myRecordVar という名前の変数を宣言するときに、レコード・パーツ myRecordPart をタイプとして使用するとします。
myRecordVar.myTop.myNext.myAlmost.myChar
上記の参照は、完全修飾 されていると見なされます。
myRecordVar.myChar
上記の参照は、部分修飾 されていると見なされます。
フィールド名を部分修飾する方法は、これ以外にありません。 例えば、変数名とフィールド名の間に存在するフィールド名を一部のみ組み込んだり、フィールドの上位にある構造体フィールド名をいくつか残したまま変数名を除去したりすることはできません。 前述の例の場合、以下の参照は無効 です。
// 無効 myRecordVar.myNext.myChar myRecordVar.myAlmost.myChar myNext.myChar myAlmost.myChar
myChar myChar02
これらの参照は、非修飾 と見なされます。
record myRecordPart type serialRecord { fileName = "myFile" } 10 person; 20 *; 30 streetAddress1 CHAR(30); 30 streetAddress2 CHAR(30); 30 nation CHAR(20); end
// 無効 myRecordVar.*.streetAddress1 myRecordVar.*.streetAddress2 myRecordVar.*.nation
record myRecordPart 10 myTop; 20 myNext; 30 nation CHAR(20); end
nation への非修飾参照は、構造体フィールドでなくプリミティブ変数を参照します。
record myRecordPart 10 myTop; 20 myNext; 30 nation CHAR(20); end
nation への非修飾参照は、nation がプリミティブ変数と構造体フィールドのどちらでも参照できるために失敗します。 構造体フィールドを参照するには、参照を修飾する以外に方法がありません。
追加の規則については、『配列』および『使用宣言』を参照してください。
関連するタスク
EGL での変数と定数の宣言
関連する参照項目
配列
関数呼び出し
EGL ソース形式の関数パーツ
MQ レコード用のオプション・レコード
プリミティブ型
使用宣言