代码之家  ›  专栏  ›  技术社区  ›  Roger Costello

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

  •  0
  • Roger Costello  · 技术社区  · 6 年前

    有一组大学生:

    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 回复  |  直到 6 年前
        1
  •  1
  •   Peter Kriens    6 年前
    -- 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 }