3

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

    typedef char bool;

我能够做到这一点:

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

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

      enum bool isValid()

代替:

      bool isValid()
4

1 回答 1

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;
  }
}
于 2017-03-10T11:03:52.330 回答