共用方式為


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 檔案中放置上述範例中的範本,以供下一個練習使用。