为了帮助我理解箭头(产品)操作符,我创建了一个WhitePages模型。每个白页都有一个从名称到地址的映射(此名称/地址映射使用箭头运算符)。我创建了一个谓词来显示白页 w 的名称/地址映射。在我指定的谓词中,名称/地址关联的数量是3.参见下面的模型。
根据箭头运算符的定义,Name-> Address关系包含名称和地址的所有组合。所以,正如我所看到的,只有一个可能的例子:
令人惊讶的是,Visualizer并没有这样做:
对我来说,这看起来不是一个有效的实例。名称/地址映射在哪里?
sig WhitePages {
address: Name->Address
}
sig Name {}
sig Address {}
pred Show (w: WhitePages) {#w.address = 3}
run Show
答案 0 :(得分:1)
您将它投影到地址上,因此您现在每个地址都有一个快照。您将在底部看到一个UI控件,让您选择地址。请注意,您的约束表示名称 - 地址关系中有3对,因此它们可以分布在不同的地址中。