2014-03-29 49 views
2

我最近与合金工作。 我可以这样说:合金:事实等等关于诠释

fact{ 
all i: Int | i >= 0 
} 

我想说:所有整数合金的用途应该是积极的。 合金不失败,但也不给我实例。

问候

回答

2

你目前不能说这个。你可以指定整数的唯一范围(告诉Alloy整数是“使用”)是位宽(例如4 Int);合金总是使用该位宽内的所有整数(例如,对于4的位宽,使用的整数是-8, ..., 7)。

如果你在你的模型int类型的字段,可以使用一个事实(像你上面说的)来限制它的值:

sig S { i: Int } 
fact { all s: S | s.i >= 0 } 
+0

好的,谢谢您详细的解答。 –

+0

但我有一个小问题: 我想说:一个int介于0和有点。 例如我有这样的签名: SIG A { ID:整数 } 我用这个事实: 其实{ 全部:A | a.id> 0 } 其实全部a:A | a.id <20 } 我没有得到任何实例。我究竟做错了什么? –

+0

发布整个模型 –