我有一个Flash项目,它有许多源文件。我有一个使用率很高的班级,称为Jenine。我最近(也许是无情地)将Jenine从一个名称空间重定位到另一个名称空间。我以为我们已经准备好了-我以为是时候了。新的Jenine在各个方面都比较好-她失去了一些代码膨胀,使自己脱离了一些残余的类关系,并且终于回到了她心中一直秘密地知道的那个真正的命名空间。曾经属于。她属于自己的同类。
不幸的是,Flash根本没有。也许它已经形成了一种依恋。也许它不希望 Jenine脱钩。无论哪种方式,它都紧紧抓住了珍妮的旧版本。它拒绝继续前进。它忽略了她的(职能)电话。它试图忘记她的新公共界面。相反,它构造的每个Jenine实例始终是旧版本的副本,直到其类路径:
var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// Should print: com.newnamespace.subspace::Jenine
// Prints: com.oldnamespace.subspace::Jenine
// Ah, young love!
我们战斗了。我为自己所说的或所做的某些事情感到骄傲。最后,由于愤怒,我完全删除了Jenine的所有参考文献。她完全被系统清除了。我的光标落在“空垃圾箱”菜单选项上,例如棺材的冷盖。
我认为Flash无法恢复。直到今天,它仍然紧贴着珍妮的记忆。她那古老的,不完美的定义仍然像遗弃的鬼魂一样贯穿我的项目。每当我强迫Flash进行编译时,它仍会把她深深地插入我的电影中,将她的定义像其他小神rine一样安放在其他生活类中。我想知道他们是否可以看到她。
Flash,我不再谈论了。我编写代码,然后对其进行编译。镇上有一个名叫Summer的新女孩,看起来和Jenine几乎一样,好像有人刚刚将她的源代码批发复制到了一个新类中一样,但是Flash并没有表现出任何兴趣。在大多数日子里,它只是在四处张望,并在认为自己不在时在我的评论中写出不良诗歌。
我希望没有其他人有过类似的经历,这只是恐怖的黑暗泻湖(Flash代码库)中的一个奇特而痛苦的涟漪。有谁知道如何擦除编译器正在使用的缓存?