GDL 練習 1:實作 GDL 架構
運動
實作架構,此架構會建立三種屬性類別,而且不會對建構所在的位置施加限制。
這些屬性必須分成下列類別:
可以出現在根層級和建構內的屬性。
只能出現在根層級的屬性。
只能在建構中顯示的屬性。
請勿在架構中定義任何關鍵字;只要包含未來關鍵字的架構即可。
注意 藉由使用範本,您可以建立虛擬架構,也就是未定義任何 GDL 專案的架構。 以這種方式定義的基底架構會對其影響,不論此架構在未來的擴充方式為何。
方案
下列程式碼範例示範完成此練習的其中一種方式。
*Template: ATTRIBUTE
{
*Type: ATTRIBUTE
*Virtual: TRUE
}
*Template: ROOT_ATTRIB
{
*Inherits: ATTRIBUTE
*Virtual: TRUE
}
*Template: CONSTRUCT_ATTRIB *% May not appear at Root level
{
*Inherits: ATTRIBUTE
*Virtual: TRUE
}
*Template: FREEFLOAT
{
*Inherits: ATTRIBUTE
*Virtual: TRUE
}
*Template: CONSTRUCTS
{
*Type: CONSTRUCT
*Members: ( CONSTRUCTS, FREEFLOAT, CONSTRUCT_ATTRIB)
*Virtual: TRUE
}
*Template: ROOT
{
*Type: CONSTRUCT
*AllowNewMembers: FALSE
*Name: "root"
*Instances: <ANY>
*Members: (ROOT_ATTRIB, FREEFLOAT, CONSTRUCTS)
}
注意 您可以在 MasterTemplate.gdl 檔案中放置上述範例中的範本,以供下一個練習使用。