Virtools脚本语言(VSL)教程 - 枚举

来源:互联网 发布:同步带设计软件 编辑:程序博客网 时间:2024/05/18 07:25

enum关键字指定了一个枚举类型。枚举类型是一种用户定义的类型,由一套叫做计数器(enumerator)的赋之以名称的常量组成。缺省情况下,第一个计数器有一个为0的值,每个后续的计数器都比前一个的值更大(除非你显示地为特定计数器指定一个值)。

定义语法:

enum enumName { enumMember , ... };

enumMember :
enumMembersName

enumMembersName = integerValue

实例

enum CharacterType
{
HUMAIN, // 0 MONSTER, // 1 GHOST, // 2 BIRD // 3};enum DisplacementMode { WALK, FLY, TELEPORT};

然后你可以在你的函数中使用所定义的常量。

void ManageCharacterMove(Entity3D charac, CharacterType type, DisplacementMode disp)
{
switch (type)
{
case HUMAIN :
if (disp == WALK)
{
// ... } else if (disp == FLY) { // ... } else { // ... } break; case MONSTER : // ... break; // ... }}

计数器不需要具有唯一的值。每个计数器的名称都以常量方法对待,且在enum被定义的变量范围内唯一。

enum week 
{
Mon = 1, // forces start at value 1 Tue, // 2 Wed, // 3 Thu, // etc Fri, Sat, Sun};enum weekend{ Sat, // error, Sat redefinition Sun // error, Sun redefinition};