[tamarin系列之6] tamarin外篇---As3Eval
来源:互联网 发布:菜鸟网络的运营成本 编辑:程序博客网 时间:2024/06/05 09:57
1、As3Eval简介
这是一个由Tamarin衍生出的as3库,作者把Tamarin的思想融合到了as3的库中。支持as3和ES4两种格式的动态编译、运行,有AS3来解释AS3或ES4,是不是很神奇呢?
这是一个不折不扣的AS3写的AS3脚本引擎。可以编译很多AS3代码,包括类、方法等。同时也可以融合JS和abc文件,进行多方面编程。
这里是DEMO。此库提供在线源码和源码下载,还提供编译好的SWC组件
2、简单测试As3Eval
首先我们新建一个Script类
1.package util.script {
2. import com.hurlant.eval.ByteLoader;
3. import com.hurlant.eval.Debug;
4. import com.hurlant.eval.Evaluator;
5. import com.hurlant.test.ILogger;
6. import flash.utils.ByteArray;
7. public class Script {
8. public function eval(src : String) : void {
9. var evaluator:Evaluator = new Evaluator
10. var bytes:ByteArray = evaluator.eval(src);
11. ByteLoader.loadBytes(bytes);
12. }
13. }
14. }
这样,我们就可以使用动态的脚本来工作了
比如令var str : String = "function test() : String {" + "return 'test'; " +"};";
然后new Script().eval(str);
这样我们就eval了这个test方法
3、自定义外部方法
之后我们可以建立一个实现类,为了方便,我们选择在顶层包建立
1.package {
2. public class Util {
3. public static function print(str : String):void {
4. trace(str);
5. }
6. }
7. }
然后我们来扩展实现这个test
new Script().eval(str + " var temp = test(); Util.print(temp)");
就相当于
1.function test() : String {
2. return 'test';
3.}
4. var temp = test();
5. Util.print(temp);
可以看出Util.print来自eval外部,但是测试通过,说明eval脚本引擎可以与外部类和方法进行沟通。
=========================================
那么还等什么,为脚本引擎发愁的各位,尽情地发挥自己的想象,享受动态脚本带来的好处吧。
关于深入as3eval,请继续关注tamarin系列文章
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/isaaq/archive/2008/04/27/2334743.aspx
- [tamarin系列之6] tamarin外篇---As3Eval
- [tamarin系列之6] tamarin外篇---As3Eval
- AVM2 - tamarin外篇---As3Eval
- [tamarin系列之8] 配合as3eval的as3c
- [tamarin系列之1] tamarin简介
- Tamarin
- tamarin
- [tamarin系列之2] avmshell命令行基础
- [tamarin系列之9] 在线的eval
- tamarin之Atom
- tamarin之inlinehashtable
- tamarin之gc
- [tamarin系列之3] ASC编译器命令行基础
- [tamarin系列之4] 构建专用的avmshell
- [tamarin系列之5] 植入本地方法实现
- [tamarin系列之7]客户端脚本引擎axscript
- tamarin系列之5] 植入本地方法实现
- tamarin源码下载地址
- Delphi常用组件中常见属性,常见事件简介
- eclipse java heap outOfMemory 解决
- VB.NET DATALIST 分页代码
- 转:javaScript操作select标签,select取值
- 【转】GB2312、UNICODE和BIG5的相互转换
- [tamarin系列之6] tamarin外篇---As3Eval
- 文章预告-3D中绕任意轴的旋转
- [转] 个人开公司的流程,以后用得着
- HTTP 状态码
- Java字符编码根本原理
- 存储过程 重构
- C语言中不易察觉的错误
- 2.1 holstein
- 【转载】dom4j读写xml文档