假设我有 sig A {} sig B {e:A} 我想在A和B之间表示1-1映射,因此对于每个B,只有一个A对应于:
{all b:B | one a : A | b.e = a}
是否有其他方法可以做到这一点,例如使用多重性?
答案 0 :(得分:2)
您可以编写以确保每个B与一个A:
完全相关 sig B{
e: one A
}
修改强>
为确保每个A与一个B完全相关,您可以将签名事实添加到A的签名声明中。
sig A{
}{
one this.~e
}