示例:
<project name="num" default="jav">
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<!-- IF and Conditional task inbuild taskdef -->
<target name="jav">
<property file="proper.properties"/>
<math result="index" operand1="${index}"
operation="+" operand2="1" datatype="int"/>
<echo message="index=${index}"/>
<echo file="proper.properties" message="index=${index}"/>
</target>
</project>
在proper.properties
中,我有index=1A
。我能够增加整数部分而不是字符部分。
我有一个变量index=1A
。我希望在每个构建过程后增加此数字。
假设我已经完成了第一次构建,那么它应该是index=2B
。也就是说,我想在Ant脚本中增加整数以及字符值(1A
,2B
,3C
,...)。
这可能在Ant?
答案 0 :(得分:3)
您可以使用以下内容:
<project name="test" default="init">
<property name="init.value" value="1A"/>
<scriptdef name="increase.label" language="javascript">
<attribute name="value" />
<attribute name="property" />
<![CDATA[
var initVal = attributes.get("value");
var finalVal = String.fromCharCode(initVal.charAt(0) + 1);
for(i = 1; i < initVal.length(); i++)
{
finalVal = finalVal.concat(String.fromCharCode(initVal.charAt(i) + 1));
}
project.setProperty(attributes.get("property"), finalVal);
]]>
</scriptdef>
<target name="init">
<increase.label value="1A" property="result"/>
<echo message="Result is : ${result}"/>
</target>
</project>
当然,你需要使用java 1.6或更高版本。
输出:
init:
[echo] Result is : 2B
编辑:
现在你想增加数字而不是角色。使用parseInt(string, radix)
。
我不确定你想用字母做什么。在那里你将不得不添加一封新信。