如何将年字段限制为1-4?

时间:2018-07-15 16:52:50

标签: alloy

有一组大学生:

sig Student {}

每个学生都有一个属性,指示他/她上大学的那一年(第一年,第二年等):

sig Student {
    year: Int
}

年份的值必须为1、2、3或4。这是一种约束年份字段的方法:

sig Student {
    year: Int
} {
 year in {i: Int | i=1 or i=2 or i=3 or i=4}
}

是否有更好(更简单,更直观)的年份约束方法?

1 个答案:

答案 0 :(得分:1)

-- Enumerate
let YEARS = 1+2+3+4

-- or Range
let YEARS = { y : Int | y >= 1 and y <= 4 }

sig Student { year: Int } {
  year in YEARS
}

或更简洁

sig Student { year: YEARS }