P3705-[SDOI2017]新生舞會【0/1分數規劃,費用流】
阿新 • • 發佈:2020-12-13
enum Lx{'hello', 'nice', 'good'}; cc.log(Lx['hello'] == 0) cc.log(Lx['nice'] == 1) cc.log(Lx['good'] == 2) cc.log(Lx[0])
上面是列舉基本用法
//手動賦值列舉 enum Lx{bj = 5, cd = 4, sz}; cc.log(Lx['bj']) //5 cc.log(Lx['cd']) //4 cc.log(Lx['sz']) //5 未賦值的列舉會接著上一個列舉遞增,會出現bj和sz都是5的情況,所以手動賦值要多注意不要出現覆蓋情況
enum Color {Red, Green, Blue = "blue".length}; //constenumDirections{ Up, Down, Left, Right } letdirections=[Directions.Up,Directions.Down,Directions.Left,Directions.Right]; //常數列舉與普通列舉的區別是,它會在編譯階段被刪除,並且不能包含計算成員。 //上例的編譯結果是: //vardirections=[0/*Up*/,1/*Down*/,2/*Left*/,3/*Right*/];列舉計算所得項 enum Color2 {Red = "red".length, Green, Blue}; //如果緊接在計算所得項後面的是未手動賦值的項,那麼它就會因為無法獲得初始值而報錯
//假如包含了計算成員,則會在編譯階段報錯: constenumColor{Red,Green,Blue="blue".length};