HI.各位。
好久没上来了。
这次,带来的是一个脚本引擎,暂时命名为龙脚本,取这个名字,是因为,该脚本引擎未来支持的一种方言,会是中文的语法。谁有好的名字,可以报给我哦。呵呵。
这个东东的features如下:
1、代码会被编译成中间代码--字节码,由自己的运行时解释该字节码,并执行。较边解释边执行,效率要高点。
2、有库的概念,若干个类的代码,可以编译成一个库文件(跟ActiveXDll,标准DLL没有任何关系),写其他库时可以引用该库,并使用其中的类。
3、介于基于对象、面向对象之间。
所有数据类型,都是对象,包括String等基础数据类型,支持静态成员,静态变量,支持函数重载,暂时不支持继承。
Dim s As String
s="龙脚本"
'//下面这句代码将不支持
MsgBox(Mid(s,2,2),64,"Tip")
'//你可以这么写
Dim s As String="龙脚本 "
Win.MsgBox(s.Substring(1,2),64,"Tip")
Win.MsgBox(s.TrimEnd.Length,64,"Tip")
'//所有的函数都封装在对象里
4、强类型。
所有变量,声明了才能使用,而且要有准确的数据类型。
5、支持结构
6、支持动态数组和Fix数组。但是仅仅支持一维使用。
7、类可以写构造函数,并且支持重载。
8、类可以写析构函数。
9、类实例变量,可以不New,直接使用,如果是个Nothing,引擎将自动创建一个新实例。供调用。
10、类的成员,可以是属性(Get,Set),函数(有返回值)和方法(无返回值)。
11、成员可以是Private,Public,Friend几种。
12、支持指针。
13、脚本的数据支持外部访问,在内存分布上,和VB的一致,为其和宿主进行交互通信提供方便。
也就是说,里面的String,Boolean和VB里的String、Boolean没有区别,并且可以传出来,外面的可以传入。
14、没有Set语句,所有数据类型的变量,都可以直接赋值
Dim o As Cat
o=New Cat(lLegsCount,lEyesCount)
15、支持常见的语句
For ,Loop,Do,Select,Goto等。
16、可以调用API和ActiveXDll。
第一个版本的,会支持类似VB.NET的语法,和中文语法。未来会支持Java、C#风格的语法。
目前的运行时,是VB写的,速度比较慢,未来稳定的版本,会用C++或是PoB这样的东东重写。
7月下旬,放出来,有兴趣测试的,留Email。对于测试有贡献的,未来可以免费提供在你的程序里使用。