为Actionscript3实现了eval函数,可以在运行时解析执行一些脚本。其支持的脚本语言类似Javascript,可以定义变量和函数,也可以只运行一些简单的表达式
functiontest():void{//Compiletheuserlibrary:varlibCode:String='functionsum(data:Array):Number{\n'+'varret:Number=0;\n'+'foreach(varxindata)ret+=x;\n'+'returnret;\n'+'}\n\n'+'functionavg(data:Array):Number{\n'+'return(data==null)?0:(sum(data)/data.length);\n'+'}';varuserlib:Object=D.parseFunctions(libCode);//Usethelibrarytoexecutedynamiccode:varprog:String='vardata=[1,3,5,7];\n'+'printf("Sumis:{0}",sum(data));\n'+'printf("Averageis:{0}",avg(data));\n';D.eval(prog,null,userlib);}
varsix:int=D.eval('1+5')asint;
目前最新版本是1.1,在AdobeFlex3和FlashCS3上测试通过
评论