可以为尚未定义的 属性 取消设置 var 吗?
Is it ok to unset a var for a property not yet defined?
假设我在 macrodef
:
中有这样的东西
<var name="someName" unset="true" />
<property name="someName" value="someValue" />
这似乎可行,但在设置 var 之前取消设置它是定义的行为吗?我是 ant 的新手,还没有找到任何可以证明这种情况的东西。
是的,如果未设置变量(无非是 mutable 属性),则可以取消设置。取消设置变量归结为从包含属性列表的散列 table 中删除条目。来自 Hashtable#remove(Object key)
的文档:
Removes the key (and its corresponding value) from this hashtable. This method does nothing if the key is not in the hashtable.
假设我在 macrodef
:
<var name="someName" unset="true" />
<property name="someName" value="someValue" />
这似乎可行,但在设置 var 之前取消设置它是定义的行为吗?我是 ant 的新手,还没有找到任何可以证明这种情况的东西。
是的,如果未设置变量(无非是 mutable 属性),则可以取消设置。取消设置变量归结为从包含属性列表的散列 table 中删除条目。来自 Hashtable#remove(Object key)
的文档:
Removes the key (and its corresponding value) from this hashtable. This method does nothing if the key is not in the hashtable.