我與更新由外部承包商,並在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