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