Wit 2.5.0-beta 发布,不再支持 Java 7

栏目: 软件资讯 · 发布时间: 6年前

内容简介:Febit Wit 是一个 Java 平台下的模板引擎,语法类似 JavaScript,支持自定义函数,全局变量,Lambda 表达式,核心模块轻巧,无第三方依赖,采用BSD开源协议。 2.5.0-beta 更新内容如下: 最重要的: 现在至少需...

Febit Wit 是一个 Java 平台下的模板引擎,语法类似 JavaScript,支持自定义函数,全局变量,Lambda 表达式,核心模块轻巧,无第三方依赖,采用BSD开源协议。

2.5.0-beta 更新内容如下:

  • 最重要的: 现在至少需要 Java 8 以上, 不再支持 Java 7 及以下版本

  • 修正: 仅当表达式元素不可变(immutable)时才执行优化

  • 废弃: KeyValuesUtil 不再推荐使用, 会尽快被移除, 请使用 Vars.of(..) 代替

  • 变更: 请使用 getters 访问 Template 的属性, 不再提供相关的字段的直接访问

  • 删除: 删除已废弃的 KeyValues, 已由 Vars 代替

  • 删除: 删除已废弃的 CFG

  • 删除: 不再支持重定向表达式, 因其在优先级上不符合预期, 但重定向句柄依旧保留

  • 删除: 移除不再需要的 api: GlobalManager#commit(), Engine#init(), 如有调用直接删除即可

  • 删除: 移除 RegistModeResolver, 可以通过覆盖 Resolver#register(..) 实现同等效果

  • 新增: 新增 GlobalManager#setConstMethod(...), 方便使用 lambda 和函数引用直接添加常量函数

  • 新增: 新增 codeFirst 的 codeStringLoader, 向准脚本引擎迈进

  • 新增: 支持更多 Number 类型的基本运算

  • 其他: 一(大)些(量)细节调整及删减

值得一(卖)提(弄)的是, 这个版本只有 306.3kB, 比较遗憾的是最终没能缩减到 300kB 以下, 说出来你们可能不信, 我真的是有强迫症, 只不过代码强迫症可能更严重一些, 一些该有的东西还是必须要有的, 否做把只是为了优化性能的 asm 相关模块删掉妥妥的能再减少 20kB 以上.

接下来, 着重介绍一下 codeStringLoader:

codeStringLoader 实际上只是在配置层面将 StringLoader 的 codeFirst 设置为 true, 这一特性很早就已经支持了, 只是这次将其配置到了默认配置中, 示例:

之前我们得到一个字符串模板需要:

Template t = engine.getTemplate("string:<% echo \"Hello Wit!\"; %>");

但是现在, 也可以更简单些:

Template t = engine.getTemplate("code: echo \"Hello Wit!\" ");

这对于把 wit 当做脚本用途的场景,会相当方便, 例如: 

支持脚本的 Hive 自定义函数

这里就是用到了这种方式


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

腾讯网UED体验设计之旅

腾讯网UED体验设计之旅

任婕 等 / 电子工业出版社 / 2015-4 / 99.00元

《腾讯网UED体验设计之旅》是腾讯网UED的十年精华输出,涵盖了丰富的案例、极富冲击力的图片,以及来自腾讯网的一手经验,通过还原一系列真实案例的幕后设计故事,从用户研究、创意剖析、绘制方法、项目管理等实体案例出发,带领读者经历一场体验设计之旅。、 全书核心内容涉及网媒用户分析与研究方法、门户网站未来体验设计、H5技术在移动端打开的触控世界、手绘原创设计、改版迭代方法、文字及信息图形化设计、媒......一起来看看 《腾讯网UED体验设计之旅》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具