0

我有一个 ant 参数,其值列表如下。

releases=release1,release2

我使用下面的 for 循环来处理这些值。

<for list="${releases}" param="release">
  <sequential>
    <echo>Processing @{release}</echo>
  </sequential>
<for>

我想做类似的事情,我只想在 @{release}=release2 时回显下面的语句

<echo>Processing last release</echo>

我不太确定如何获取列表项的索引,或者是否有可能。

在此先感谢, 巴拉吉

4

1 回答 1

2

就这样?而且,您已经在使用 Ant-Contrib 任务了。看一下PropertyRegEx任务。这就是 Ant-Contrib 任务,它将完全按照您的意愿行事:

<propertyregex property="last.release"
     input="${releases}"
     regexp=".*,(.*)"
     select="\1"/>

这将设置${last.release}为字符串中的最后一个版本。

小心为空或与您的正则表达式不匹配的字符串!您可以使用 Ant-Contribif任务进行测试:

<propertyregex property="last.release"
     input="${releases}"
     regexp=".*,(.*)"
     select="\1"/>
<if>
    <isset property="last.release"/>
    <then>
        <echo>The last release is ${last.release}</echo>
    </then>
    <else>
        <fail>Oops! Something didn't work...</fail>
    </else>
</if>
于 2012-09-11T13:37:55.660 回答