2010-11-11 53 views
0

我试图引用名称中具有.的对象属性。因此,例如,在fdb如果我有一个对象:引用具有“。”的对象属性。在它的名字

为MyObject target.property

如果我试图 “打印”:

fdb> print MyObject.target.property 

我得到:

Variable target.property unknown 

如何访问此属性并查看它的内容,因为它的名称是target.property

回答

3

它通常是一个坏主意,有.为属性名称的一部分,但它可以通过将得到:

var val = MyObject[ "target.property" ] 

这就是所谓的“数组符号”。它比解决财产问题的正确方式更慢,更缓慢。它也允许在诊断中引入一些潜在的错误和困难,但是在没有对输入进行控制的情况下,这就足够了。

+2

一致认为,有一个点的属性名称是不好的做法,应该避免。 – AttackingHobo 2010-11-11 20:33:19

+0

甜!感谢cwallenpoole。非常感激!是的,不是最佳做法,但在这种情况下,我们无法控制输入。 *叹* – Sly 2010-11-11 21:36:23

0

MyObject["target.property"]