// 注册 AviatorEvaluator.addFunction(new AddFunction()); // 使用 long sum = (Long) AviatorEvaluator.getInstance().execute("add(3,4)");aviatorScript脚本aviator已经升级为一个脚本语言,所以不仅仅能进行表达式求值,还可以执行脚本程序 。
// 返回1 Object r = AviatorEvaluator.execute("if (true) { return 1; } else { return 2; }");aviatorScript脚本一般放到独立的脚本文件中,文件名后缀一般为.av
例如,我们编写一个hello.av脚本文件,内容为:
if (a > 10) { return 10;} else { return a;}然后就可以执行该脚本文件,并传入参数a的值:
Map<String, Object> env = new HashMap<>(); env.put("a", 30); Expression exp = AviatorEvaluator.getInstance().compileScript("./hello.av", true); Object result = exp.execute(env);官方文档:https://Github.com/killme2008/aviatorscript
推荐阅读
- 八个针对高级职位的高级 JavaScript 面试题
- Java集合框架解析:选择正确数据结构提升性能
- Java 应用通过 OpenTelemetry API 实现手动埋点
- 深入浅出、玩转Java多线程
- 揭秘十个必知的 JavaScript 3D 库,打造顶级3D炫酷效果!
- 我不再写Javascript了
- 冒险岛这款手游吸引玩家的地方,就是可以尽情体验打怪升级的乐趣
- Java 单元测试及常用语句
- 构建高效的Java网络应用,体验秒级响应
- 下一代Java微服务:从Spring Boot到Quarkus的迁移指南
