Skip to content

Latest commit

 

History

History
50 lines (34 loc) · 1.21 KB

File metadata and controls

50 lines (34 loc) · 1.21 KB

ScriptWrapperCollection

这是基于ScriptWrapper的已经适配的脚本引擎

目录

Language Name Repo State
javascript rhino Rhino 完全适配
javascript v8 J2V8 基本适配
lua androlua+ AndroLua_pro 完全适配

使用说明

使用上都大致相同

ScriptWrapper提供了ScriptEngineManager,可以通过ScriptEngineManager获取ScriptEngine,这里用Factory

Create Engine

val engine=RhinoEngineFactory.newScriptEngine().apply{
    create()
    //...
}

Use requirer

engine.requirer.addFindPath([App.srcDir])
engine.requirer.require("module.js")

Use Bridge

val a=engine.varBridge.get("a")?.getString()
val f=engine.funcBridge.get("sum")?.call(1,2)?.getInteger()

Use Evaluator

val a=engine.stringEvaluator.eval("var a=1+2\nreturn \"ok\"","scriptName",0)?.getString()
val a2=engine.fileEvaluator.eval(file)?.getString()
val a3=engine.readerEvaluator.eval(FileReader(file))?.value