[英]Alloy: use to String
如何在合金中計算琴弦的長度?
如果我想說密碼必須至少包含8個字符,我該如何表示該字符串的長度?
我對密碼的簽名是:
sig密碼{密碼:一個字符串}
合金中的String
幾乎和其他信號一樣。 唯一的區別是您可以將字符串文字分配給String
類型的字段,例如,
some p: Password | p.password = "secret"
Alloy中不支持任何字符串函數。 解決像
some p: Password | len[p.password] > 5
需要專門的弦求解器,而Alloy則不需要。
如果您只關心密碼長度,則可以執行以下操作
sig Char {}
sig Password {
password: seq Char
} {
#password > 5
}
如果您需要能夠解決更復雜的字符串約束(包括正則表達式),則應研究專門的字符串求解器,例如Hampi 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.