【问题标题】:How can I use ant-contrib for to do loop 500 times?如何使用 ant-contrib for 循环 500 次?
【发布时间】:2014-01-27 08:30:44
【问题描述】:

我需要循环 500 次。有没有更好的方法而不是

<property name="javato.activetesting.trialnum.list" value="0,1,2,...,500(terrible)" />

<for param="trialnum" list="${javato.activetesting.trialnum.list}">
   <sequential>
       <echo message="Sub-iteration:@{trialnum}" />
       <echo message="................" />
    </sequential>
</for>

我不确定如何进行 - 有什么建议吗?

【问题讨论】:

标签: ant ant-contrib


【解决方案1】:

Antelope 有一个名为repeat 的附加任务,可以这样使用:

 <taskdef name="repeat" classname="ise.antelope.tasks.Repeat"/>
 <repeat count="2" interval="1" unit="milliseconds">
     <echo>${count}</echo>
 </repeat>

还从另一个问题中找到this 解决方案:

<target name="example4">
    <property name="n" value="3300"/>
    <property name="target" value="callee"/>
    <property name="param" value="calleeparam"/>
    <script language="javascript">
    // does n antcall's with iteration number param
    var n = parseInt(project.getProperty("n"),10);
    for (var i = 0; i &lt; n; i++) {
        var t = project.createTask("antcall");
        t.setTarget(project.getProperty("target"));
        var p = t.createParam();
        p.setName(project.getProperty("param"));
        p.setValue(""+i);
        t.perform();
    }
    </script>
</target>

【讨论】:

  • 感谢您对 Antelope 的建议。我尝试过,但迭代似乎太慢了,一次迭代只是回显它的值。我怎样才能让它更快?
  • 更新答案:添加 interval 以重复任务。根据documentation 省略interval 只会导致一个循环(“避免紧密循环”)。
  • 是的。真的很有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-26
  • 1970-01-01
相关资源
最近更新 更多