下面的代码在CF10中有一些意想不到的行为,特别是与CF8相比时(我没有在CF9中尝试过)。
第6行导致某些先前定义的结构成员变为未定义。为什么?这是一个错误还是我错过了备忘录?
<cfset struct = structNew()>
<cfset struct["x.foo"] = 1> <!--- LINE 2 --->
<cfset struct["x.bar"] = 2> <!--- LINE 3 --->
<cfdump var="#struct#" label="before"> <!--- struct["x.foo"] & struct["x.bar"] have values (they're defined) at this point --->
<cfset struct["x"] = structNew()> <!--- LINE 6: in CF10 struct["x.foo"] & struct["x.bar"] become undefined --->
<cfdump var="#struct#" label="after">
<h3>Coldfusion Version</h3>
#server.coldfusion.productversion#
感谢您的光临。
答案 0 :(得分:5)
听起来您正在体验我在博客上记录的内容? &#34; Odd behaviour with struct keys with dots in their names&#34;
提升影响ColdFusion 8的回归时间有点迟,但如果您愿意,可以向Adobe提出一张票。然而,他们只会忽略它。
除此之外,唯一的显着反应是有点现在你知道&#34;。对不起: - /