由于我刚接触合金,这很可能是一个简单的问题。我已经阅读了在线教程,现在正在阅读软件抽象,修订版。在页34的底部有一个示例:
r' = {b:B, a:A, c:C | a->b->c in r}
其中文本说明这定义了B-> A-> C的新关系。我没有看到这个陈述如何实现r'的显式顺序。
答案 0 :(得分:1)
这是集合理解的属性
{a: A | somePredicate1[a]}
的类型为A
,并返回一个包含somePredicate1
所有原子的集合; {a: A, b: B | somePredicate2[a, b]}
的类型为A->B
,并返回包含a->b
所有somePredicate2
个元组的关系; set comprehension的语法基本上由两部分组成(1)类型声明(在|
字符之前),以及(2)谓词必须包含在返回集合中的每个元素。