0
我希望能夠從名爲group
的集中聲明一個或兩個相同類型的變量。我知道one
和lone
可以用來分別聲明一個或零個/一個變量。我到目前爲止的嘗試是:Alloy - 聲明1或2個變量
one x : group, lone y : from | {...}
但是,這似乎並不奏效。我的目標是有一個或兩個變量,然後我可以在下面的表達式中使用。
我希望能夠從名爲group
的集中聲明一個或兩個相同類型的變量。我知道one
和lone
可以用來分別聲明一個或零個/一個變量。我到目前爲止的嘗試是:Alloy - 聲明1或2個變量
one x : group, lone y : from | {...}
但是,這似乎並不奏效。我的目標是有一個或兩個變量,然後我可以在下面的表達式中使用。
這裏可能會有困惑。 如果你寫one x:group| expr
這意味着組中應該只有一個x,所以表達式expr
成立。知道了這一點,如果你想表達這種約束,你可以寫下這樣的文字: 例如,假設有一個名爲size
描述到Int
從group
的關係 一個字段,表達的至少一個和最多兩個基團具有的大小爲5可以如下
one x,y : group | (x + y).size=5
在這個例子中,x+y
將完成根據是否x=y
產生一個或兩個組元素。
你是什麼意思五個大小? – LEJ
這是一個表達的例子,我發明了它。給我更多的上下文,我會適應這個例子你的需要 –
我現在明白,我已經有我的表達,但非常感謝你。 – LEJ