1

我有一个 UML 模型(它实际上是无关紧要的,因为它可以是任何 MOF 模型),我需要从最后一个元素到第一个元素访问一个有序集。因此,我需要通过 OCL 将其反转。我已经看到有一个 sortedBy 方法需要 OCLExpression 用作排序标准,但我不知道如何使用它。

任何的想法?

4

1 回答 1

2

如果您使用的是 Acceleo(您的评论暗示您是),您有两种选择:

  • 使用Acceleo 库提供的“myOrderedSet->reverse()” (这不是 100% 纯 OCL)
  • 使用类似“myOrderedSet->iterate(elem: MyType| myOrderedSet.insertAt(0, elem))”的东西

编辑:自从我一直使用 reverse 以来,我已经很久没有使用 iterate 了, iterate 的正确方法是:link。如果有人有疑问,这里是反向的答案:链接

问候,

斯蒂芬·贝戈多

于 2012-02-22T15:08:06.790 回答