定义配置相关的数据参数

参数是使用 *Features 构造引入的。 *Features 构造的 construct 标记标识参数 (或定义参数名称,也称为功能名称) 。

*Features 构造的内容可以包含一个或多个 *Option 构造。 *Option 构造定义参数可以位于的允许值或状态。 *Option 构造的构造标记标识允许的值或状态。 此构造标记也称为 选项名称

例如,可以定义一个名为 Today 的参数,该参数可以采用一周中的某一天作为其值,如以下代码示例所示::

*Feature: Today
{
  *Option: Sunday{}
  *Option: Monday{}
  *Option: Tuesday{}
  *Option: Wednesday{}
  *Option: Thursday{}
  *Option: Friday{}
  *Option: Saturday{}
}

在前面的示例中, Today 参数在任何给定时间只能采用一个值。 今天 不能同时是 星期天星期二。 但是,并非所有参数都不限于独占值;它们可以一次获取一个或多个值。 例如,如果你有一个机器人,它可以同时持有多种颜色的笔在其手中,则可以定义 一个 PenColors 参数来描述当前在其手中的颜色。 可以指定 PenColors: (红色、绿色和黄色) ,这可能完全有效。

使用 *UIType 保留指令,可以指定参数在任何时候是否只能 (PICKONE) 获取一个值,或者是否可以在给定的时间将多个值分配给该参数, (PICKMANY) 。 *UIType 指令定位为 *Features 构造的子条目。

注意 GDL 不允许将“nothing”分配给参数。 因此,若要描述不持有笔的机器人,必须为 PICKMANY 参数声明一个名为 None 或 Off 的选项。 使用的选项名称并不重要;可以使用 *NoneOption 指令指定为此属性分配哪个选项。 NoneOption 指定的选项与任何其他选项不兼容。

可以定义任意数量的 *功能 构造,就像拥有参数一样。 所有 *功能 构造必须驻留在 根上下文中。 根上下文没有父构造。