Как увеличить символьный тип данных в скрипте Ant? - PullRequest
1 голос
/ 15 ноября 2011

Пример:

<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. То есть я хочу увеличить целое число, а также значение символа (1A, 2B, 3C, ...) в скрипте Ant.

Возможно ли это в муравье?

1 Ответ

3 голосов
/ 15 ноября 2011

Вы можете использовать что-то вроде этого:

<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 или новее, чтобы использовать это, конечно.Редактировать:

Теперь вы хотите увеличить число, а не символ.Используйте parseInt(string, radix).

Я не уверен, что вы хотите делать с буквами, хотя.Там вам нужно будет добавить новое письмо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...