我希望使用如下动态数组:
<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]}" />
}
有办法吗??这里长度改变了不是固定的
谢谢
简短回答:No.
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。