有关详细信息,请参阅动态访问的括号语法。
// a fixed record part Record myFixedRecordPart type=serialRecord { fileName = "myFile" } 10 ID INT; 10 Job CHAR(10); end // a record part (not fixed) Record myDynamicRecordPart type=basicRecord ID INT; Job CHAR(10); end Program myProgram dynamicPerson myDynamicRecordPart; myFlexID INT; fixedPerson myFixedRecordPart; myFixedID INT; Function main() dynamicPerson.ID = 123; dynamicPerson.Job = "Student"; fixedPerson.ID = 456; fixedPerson.Job = "Teacher"; relationship Dictionary { dynamicRecord=dynamicPerson, staticRecord=fixedPerson }; end end end
myDynamicID INT; myDynamicID = relationship.dynamicRecord.ID;
对 dynamicRecord 的引用将是动态的,对 ID 的引用也将是动态的,并且标识 ID 在运行时是可见的。
myFixedID INT; // NOT valid myFixedID = relationship.fixedRecord.ID;
myFixedID INT; myOtherRecord myFixedRecordPart; myOtherRecord = relationship.staticRecord; myFixedID = myOtherRecord.ID;
动态访问在逻辑表达式中的赋值(在左边或右边)中是有效的;在语句 set、for 和 openUI 中也是有效的。
相关任务
声明 EGL 中的变量和常量