【问题标题】:How do I compare the value of the current and the previous iteration in a for loop in Acceleo?如何在 Acceleo 的 for 循环中比较当前和上一次迭代的值?
【发布时间】:2016-10-01 23:55:51
【问题描述】:

是否可以在 Acceleo 的 for 循环中比较当前和上一次迭代的值?

知道 LET 可以在 for 循环中定义,但它在每次当前迭代时都是可变的,因此之前的值将丢失,我们将始终只获得当前值。

【问题讨论】:

    标签: eclipse for-loop eclipse-emf acceleo ocl


    【解决方案1】:

    在 acceleo 的 for 循环中,您可以访问变量 i

    [let seq : Sequence(Integer) = Sequence{4,5,6}]
        [for (n : Integer | seq)]
            [seq->at(i-1)/]
        [/for]
    [/let]
    

    输出:

    Invalid
    4
    5
    

    注意边缘情况,例如第一项和最后一项。

    Here你可以找到一些非常有用的文档

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多