2

我希望使用动态数组如下:

<property array name = "colors">
   <val = "red">
   <val = "green">
   <val = "blue">
 </property array>

 for (i = 0; i < ${colors}; i++) { 
    <echo file="myfile.txt" append="yes" message="${colors[i]}" />
 } 

有什么办法吗???这里长度改变了不固定

谢谢

4

1 回答 1

3

简短的回答:没有。

正如您所说,Ant 不是一种编程语言。它是一种依赖矩阵构建语言。您向 Ant 指示如何构建组件以及这些组件之间的关系。Basic Ant 几乎没有数据结构甚至控制结构。在基本 Ant 中,属性是不可变的。

Ant 中有几组扩展任务。最受欢迎的是Ant-Contrib。Ant-Contrib 确实有一个<for/>可以像 for 循环一样运行的任务,但它的工作方式受到限制。这是做你想做的事情的一种方法:

<for param="color" list="a,b,c">
    <sequential>
        <echo file="myfile.txt" append="yes" messsage="@{color}"/>
    </sequential>
<for>

但是,您必须下载 antcontrib jar 文件,并使用<taskdef/>才能使用 Ant-Contrib 任务。

你想做什么?如果您想要一种通用脚本语言,请使用 Python、Ruby 或 Perl 之类的语言。

于 2013-05-29T03:28:00.727 回答