Что означает переменная с символом @ в Ant build.xml? - PullRequest
13 голосов
/ 09 марта 2012

Может кто-нибудь сказать мне, что символ @ перед переменной означает в файле ant build.xml?

<subant target="@{target}">

Большое спасибо!

1 Ответ

17 голосов
/ 10 марта 2012

В (основном) муравье нет переменных, но есть свойства и атрибуты.
@ {foo} - это синтаксис для доступа к значению атрибута macrodef внутри macrodef, то есть:

<project name="tryme">
 <macrodef name="whatever">
  <attribute name="foo" default="bar"/>
   <sequential>
    <echo>foo =>  @{foo}</echo>
   </sequential>
 </macrodef>

 <!-- testing 1, foo attribute not set, will use default value -->
 <whatever/>

 <!-- testing 2,  set attribute foo to 'baz'-->
 <whatever foo="baz"/>
</project>

вывод:

 [echo] foo =>  bar
 [echo] foo =>  baz

См. Муравей ручная macrodef
Принимая во внимание, что $ {foo} является синтаксисом для доступа к значению свойства:

<project name="demo">
 <property name="foo" value="bar"/>
 <echo>$${foo} => ${foo}</echo>
</project>

вывод:

[echo] ${foo} => bar

См. Свойство Ant ant

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