1
我試圖將C中的宏轉換爲在Actionscript中類似工作的東西。將C宏轉換爲ActionScript 3
C宏接受一個字符串,並使用##
檢查其他宏的類型以檢查該項目的屬性是否是正確的類型。
爲了澄清,在C:
...
#define STACK_NUM 52
...
#define CHECK_TYPE(i, t) \
(((i).type == t##_NUM)) \
我想這個轉換成相同的東西的Actionscript。我這樣做目前的方法是創建一個類
public class StringMacro extends String {
public var macro:int;
public function
StringMacro(value:int)
{
super();
macro = value;
}
}
和定義的所有宏在C中的這個類的變量,但是這佔用了大量的空間,我真的不想這樣做這條路。
所以,我想出了是這樣的:
public class Macros {
...
public var STACK_NUM:uint = 52;
...
public function
Macros()
{
}
}
我要引用宏類做這樣的事情:
private var macros:Macros = new Macros();
if(CHECK_TYPE(10, STACK))
....
private function
CHECK_TYPE(value:int, t:String):Boolean
{
if(value == macros.(t)) {
return true;
}
}
所以我可以通過牛逼到函數它會在Macro類的定義中檢查它。
有沒有辦法讓這項工作或類似的東西?
感謝泰勒,靜態的想法是我需要的確切的東西。 – David 2010-08-16 21:08:57