OCL-迭代每个项目
我有一个类a和其他类(B)的集合 我如何在OCL中表示集合中的每个类(B)在字段上都有一个约束 我的想法是:OCL-迭代每个项目,ocl,Ocl,我有一个类a和其他类(B)的集合 我如何在OCL中表示集合中的每个类(B)在字段上都有一个约束 我的想法是: A.collection->iterate().field = SomeConstraint 你的术语有点混乱。你是说你有 A-------->*B 您希望SomeConstraint是什么 我猜您正在寻找OCL中A类的所谓不变量: context A inv allOK : bs->forall(b | ...) 更新: 如果要计数,最简单的方法不是迭代,而是执
A.collection->iterate().field = SomeConstraint
你的术语有点混乱。你是说你有 A-------->*B 您希望
SomeConstraint
是什么
我猜您正在寻找OCL中A类的所谓不变量:
context A
inv allOK : bs->forall(b | ...)
更新:
如果要计数,最简单的方法不是迭代,而是执行
选择(…)->count()
。也许这简化了你的事情。你的术语有点混乱。你是说你有
A-------->*B
您希望SomeConstraint
是什么
我猜您正在寻找OCL中A类的所谓不变量:
context A
inv allOK : bs->forall(b | ...)
更新:
如果要计数,最简单的方法不是迭代,而是执行
选择(…)->count()
。也许这可以简化您的工作。forall()只是一个布尔约束。。。我想数一数,我只是不懂迭代语法。如果你不精确地说出你想要的,我们就帮不了你。OCL中的迭代器只是一个泛型迭代器表达式,所以我们不能简单地解释如何使用它,因为它太泛型了。请参阅OCL文档,或者更准确地告诉我们您需要什么,以便我们可以帮助您了解示例ForAll()只是一个布尔约束。。。我想数一数,我只是不懂迭代语法。如果你不精确地说出你想要的,我们就帮不了你。OCL中的迭代器只是一个泛型迭代器表达式,所以我们不能简单地解释如何使用它,因为它太泛型了。请参阅OCL文档,或者更准确地告诉我们您需要什么,以便我们可以帮助您进行示例