近一个月前,我在AS3命名空间索引中发现了一个问题。
首先,我的测试:
package {
import flash.display.MovieClip;
public class main extends MovieClip {
/* Namespace definition */
protected namespace Demo;
Demo const AMOUNT = 0;
public function main() {
super();
/* Put the namespace inside a property */
const obj = {
Demo: Demo
};
/* Now namespace-index this property */
trace((obj.Demo)::AMOUNT);
/* The following fails: obj.Demo::AMOUNT,
* it's aproximately obj::AMOUNT */
}
}
}
按预期工作,输出0
。但是当我想计算得到解析器obj.Demo
时,它会抛出一个错误(它不是英文,但是: 1043: Espacio de nombres no definido
),或者 Namespace not defined
< /子>:
trace((obj['Demo'])::AMOUNT);
我想知道原因(obj['Demo']::AMOUNT
会导致语法错误。)