2017-03-08 64 views
1

CAPL是否支持類似於typedef的東西?我的目標是創建一個布爾值:CAPL typedef bool

typedef char bool; 

我能夠做到這一點:

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

,但它不是我要去,因爲我必須做的:

 enum bool isValid() 

代替:

 bool isValid() 

回答

3

不幸的是,沒有T在CAPL的ypedef。
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; 
    } 
}