我与更新由外部承包商,并在ActionScript中创建Flex项目负责如下块:Actionscript 3/Flex中的双冒号('::')是什么意思?
CONFIG::FLASH_10_1
{
//Some code here
}
我从来没有见过这种类型的结构之前,我有赫克一段时间试图在Google上搜索它 - 我发现除了AS3之外,几乎所有的编程语言都意味着它的含义。任何人都可以对此有所了解吗?
我与更新由外部承包商,并在ActionScript中创建Flex项目负责如下块:Actionscript 3/Flex中的双冒号('::')是什么意思?
CONFIG::FLASH_10_1
{
//Some code here
}
我从来没有见过这种类型的结构之前,我有赫克一段时间试图在Google上搜索它 - 我发现除了AS3之外,几乎所有的编程语言都意味着它的含义。任何人都可以对此有所了解吗?
我敢肯定这与Flex编译器的conditional compilation功能有关。
所以,如果你添加一个编译器参数,如:
-define=CONFIG::FLASH_10_1
我敢打赌,错误就会消失。
就是这样!感谢每一位Flextras的答复和信息链接。实际上,我最终添加了-define = CONFIG:FLASH_10_1,true表示这是10.1的要求。 – TheOx 2011-01-05 19:19:52
很高兴帮助!要明确一点,如果你希望你的应用程序定位到特定版本的Flash Player,我不认为有条件编译会这样做。您需要使用target-player命令行参数。 http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_14.html – JeffryHouser 2011-01-05 20:18:20
不是的Flex/AS3大师 - 关于“::”这个线程会谈被用作“命名空间访问”:
感谢您的答案,但不幸的是,这适用于e4x和XML,而不是我正在寻找的构造。 – TheOx 2011-01-05 19:20:20
对不起 - 希望它更有帮助。我想我会搜索一下,看看我能否想出任何东西 - 但希望Flextras解决了你的问题。 – 2011-01-05 19:21:35
我很确定这也适用于AS3。例如,AS3'Vector。
虽然这是不一样的情况下,回答这个问题双冒号“::”在AS3中的含义......
它是一个名称空间访问器。
例如,AS3 Vector.<T>
类型实际上具有运行时类型名称__AS3__.vec::Vector.<T>
,其中__AS3__.vec
是自定义名称空间。您还可以为成员使用自定义名称空间,并使用语法object.custom_namespace::membername
在AS3中的对象上访问它们。 public
和private
是建立在命名空间,所以在技术上你可以访问公共成员一样object.public::membername
,如:
var a:Array = [0,1];
trace(a.public::length); //prints 2
我也许应该补充,目前该项目在这条线,上面写着抛出一个错误:“1120:访问未定义的属性FLASH_10_1“ – TheOx 2011-01-05 19:01:24