CAPL是一种类C语言,CAPL数据类型的定义很多C语言类似,但也有很多独特的地方。 CAPL数据类型包括基本类型、结构体、枚举、关联类型和对象类型。变量的数据类型决定了变量存储占用的空间。
基本类型
枚举
枚举变量的定义和使用同C语言:
enum State { State_Off = -1, State_On = 1 };
如果枚举成员的值未定义,那么第一个成员默认值为1,之后的成员按顺序依次加1. 枚举变量的定义和使用:
variables
{
enum { Apple, Pear, Banana } fruit = Apple;
enum Colors { Red, Green, Blue };
enum Colors color;
}
enum Colors NextColor(enum Colors c)
{
if (c == Blue) return Red;
else return (enum Colors) (c + 1);
}
关联类型
CAPL支持一种类似Python字典和C++ Map的关联类型(Associative Fields),关联类型的元素是键值对(key value pairs)。 关联类型定义格式如下,左边是value类型,右边[ ]内是key类型:
int m[float]; // maps floats to ints
float x[int64]; // maps int64s to floats<