2015-04-23 213 views
2

我可以很容易地聲明一個枚舉和一個集合。
但有時我只想使用枚舉的一部分,我希望編譯器檢查子枚舉中的值及其子集是否在邊界內。聲明一個類型作爲一個集合的子集

type 
    TDay = (mon, tue, wen, thu, fri, sat, sun); 
    TWeekday = (mon..fri); //not allowed; 

    TDays = set of TDay; 
    TWeekdays = set of TDay[mon..fri]; //not allowed 

我可以聲明TWeekdayTWeekdays作爲TDay的衍生物,如果是的話,怎麼樣?

有趣的是,谷歌在這個問題上沒有產生任何東西(對我來說),只是普通的老套。

+0

'TWeekday = mon..fri','TWeekdays = TWeekday' set? – TLama

+0

是的,這是訣竅,我知道這是可能的,但不記得正確的語法。 – Johan

回答

7
type 
    TDay = (mon, tue, wen, thu, fri, sat, sun); 
    TWeekday = mon..fri; // A subrange of TDay 

    TDays = set of TDay; 
    TWeekdays = set of TWeekDay; 

更多Subrange TypesSets

相關問題