在Actionscript 3 / Flex中,双冒号('::')的含义是什么?

时间:2011-01-05 18:59:40

标签: flex actionscript-3

我的任务是更新由外部承包商创建的Flex项目,并且在Actionscript中是以下块:

CONFIG::FLASH_10_1
{
    //Some code here
}

我以前从未见过这种类型的结构,而且我有一段时间试图在Google上搜索它 - 我发现除了AS3之外几乎所有的编程语言都意味着什么。任何人都可以对此有所了解吗?

3 个答案:

答案 0 :(得分:7)

我很确定这与Flex编译器的conditional compilation功能有关。

因此,如果添加编译器参数,如下所示:

-define=CONFIG::FLASH_10_1

我打赌这个错误会消失。

答案 1 :(得分:4)

虽然这不是同一个上下文,但要回答AS3中双重冒号“::”的含义...

它是名称空间访问者。

例如,AS3 Vector.<T>类型实际上具有__AS3__.vec::Vector.<T>的运行时类型名称,其中__AS3__.vec是自定义命名空间。您还可以为成员使用自定义命名空间,并使用语法object.custom_namespace::membername在AS3中的对象上访问它们。 publicprivate内置在命名空间中,因此从技术上讲,您可以访问object.public::membername等公共成员,如下所示:

var a:Array = [0,1];
trace(a.public::length); //prints 2

答案 2 :(得分:2)

不是flex / AS3大师 - 这个帖子谈到'::'被用作“命名空间访问者”:

Thread on Actionscript FAQs