CAPL typedef bool

时间:2017-03-08 14:45:46

标签: capl

CAPL是否支持typedef之类的东西?我的目标是创建一个布尔值:

    typedef char bool;

我能够做到这一点:

      enum bool {
        false = 0,
        true  = 1
      };

但这不是我想要的,因为我必须这样做:

      enum bool isValid()

而不是:

      bool isValid()

1 个答案:

答案 0 :(得分:3)

不幸的是,CAPL中没有typedef。
关于布尔值,enum是最接近的。

以下代码显示了此类enum的用法:

variables
{
  enum Bool {
    true = 1,
    false = 0
  };
}



on Start {
  enum Bool state; 


  // setting the value
  state = true;


  // accessing the integer value
  write("state (integer value): %d", state); // prints "1"


  // accessing the value identifier
  write("state (value identifier ): %s", state.name()); // prints "true"


  // usage in if-statement
  if (state == true) {
    write("if-statement: true");
  } else {
    write("if-statement: false");
  }


  // usage in switch-statement  
  switch (state) {
    case true:
      write("switch-statement: true");
      break;
    case false:
      write("switch-statement: false");
      break;
    default: 
      write("switch-statement: undefined");
      break;
  }
}