|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
手机用到的是用j2me所编出来的小程序。
最新的Java主版本(JavaSE6,又称Mustang)如今正处于beta版本阶段。固然该版本其实不像Java5的更新那末多,可是它的确有一些风趣的新特征。无庸置疑,个中的一个就是对剧本编写言语的撑持。
诸如PHP、Ruby、JavaScript、Python(或Jython)之类的剧本编写言语被普遍使用于很多范畴,并因为其天真性和复杂性而年夜受接待。因为剧本是被注释而不是被编译的,以是能够轻松地从命令交运行和测试它们。这就紧缩了编码/测试周期,并进步了开辟职员的临盆率。剧本一般是静态键进的,其语法极富体现力,所编写出的算法要比Java中的等效算法简明很多。利用起来一般也很风趣。
在良多情形下,从Java利用剧本编写言语会很有效,好比为Java使用程序供应扩大,以便用户能够编写本人的剧本举行扩大或定制化中心功效。剧本编写言语可读性更强,也更简单编写,以是(从手艺下去说)它们是用于为终端用户供应依据需求定制化产物的大概性的幻想言语。
早已有很多Java可用的自力剧本编写包了,包含Rhino、Jacl、Jython、BeanShell、JRuby等。新动静是Java6经由过程一个尺度接口为剧本编写言语供应了内置撑持。
Java6供应对JSR-223标准的周全撑持。该标准供应了一种从Java外部实行剧本编写言语的便利、尺度的体例,并供应从剧本外部会见Java资本和类的功效。Java6附带了与MozillaRhino的JavaScript完成的内置集成。基于该标准,对诸如PHP、Groovy和BeanShell之类的别的剧本编写言语的撑持也正在举行中。本文存眷的是Rhino完成,可是别的言语应当是基础不异的。
剧本编写言语的称号都从何而来?因为年夜多半剧本编写言语都来自于开源项目,以是其称号一般都是由其各自的编写者想出来的。Rhino(犀牛)的称号来自于OReilly关于JavaScript的书封面上的植物。PHP则服从Unix自注释的常规,是PHP:HypertextPreprocessor的简写。Jython是Python剧本编写言语的Java完成。而Groovy只是为了显酷。
利用剧本引擎
JSR223标准便利易用。要利用剧本,您只需懂得一些关头类。次要是ScriptEngine类,它处置剧本注释和求值。要实例化一个剧本引擎,应当利用ScriptEngineManager类来检索感乐趣的剧本编写言语的ScriptEngine对象。每种剧本编写言语都有一个称号。MozillaRhinoECMAScript剧本编写言语(一般称为JavaScript)利用“js”举行标识。
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByName("js");
嵌进式的JavaScript可用于各类用处。由于它要比硬编码的Java天真且更简单设置,以是一般还能够用于编写频仍变动的营业划定规矩。利用eval()办法对剧本表达式举行求值。剧本编写情况中所利用的任何变量都可使用put()办法从Java代码外部赋值。
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByName("js");
engine.put("age",21);
engine.eval("if(age>=18){
"+"print(Oldenoughtovote!);"+
"}else{"
+"print(Backtoschool!);"+
"}");
>Oldenoughtovote!
eval()办法还承受一个Reader对象,这使它简单在文件或其他内部源中保留剧本,以下例所示:
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByName("js");
engine.put("age",21);
engine.eval(newFileReader("c:/voting.js"));
<p>
net网页编程程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net网页编程比。java程序员都是代码完成的,所以java程序员常戏称.net网页编程程序员是操作员,呵呵。 |
|