以下是手册中关于“条件”的说明:
如果某个条件成立,则设置属性。如果条件成立,则属性值默认设置为 true;否则,不会设置该属性。您可以通过指定 value 属性将值设置为默认值以外的值
我尝试的:
<echo message="${a}" />
<condition property="a">
<isfalse value="test" />
</condition>
<echo message="${a}" />
Run Code Online (Sandbox Code Playgroud)
我的推理:
如果属性“a”为 false,则将“a”的值设置为“test”
回显的结果是:
[echo] ${a}
[echo] true
Run Code Online (Sandbox Code Playgroud)
该属性被设置为“true”,因为它是 false,但是“value”的目的是什么?
谢谢
克里斯
Ant 属性是不可变的——一旦设置就无法更改。因此,您无法修改“a”的值,但可以有条件地设置不同的属性。对您的问题陈述进行以下轻微修改:
如果属性“a”为 false,则将b的值设置为“test”
你可以用
<condition property="b" value="test">
<isfalse value="${a}"/>
</condition>
Run Code Online (Sandbox Code Playgroud)
标记condition的 property 属性是您要设置的属性,其 value 属性是条件成功时要设置的值。您正在测试的值是isfalse.