Alloyの関数を使用して二項関係を出力する方法を教えてもらえますか?たとえば、学生は教師とリンクされており、学生はコースともリンクされています。生徒を入力として受け取り、教師とコースの間の二項関係を出力するにはどうすればよいですか?
2348 次
1 に答える
4
このようなもの?
sig Course {}
sig Teacher {}
sig Student {
teacher: one Teacher,
course: some Course
}
fun binrel [s: Student]: Teacher -> Course {
s.teacher -> s.course
}
run {
some s: Student | (#binrel[s] > 2)
}
関数から二項関係を返すための特別な規則はありません。あなたの質問は->
、この場合、2つのスカラー(または2つの単項関係)から二項関係を構築するために使用する必要があるリレーショナル積演算子()に関するものだったと思います。
于 2013-03-10T19:40:32.890 に答える