网站大量收购独家精品文档,联系QQ:2885784924

Aviator-2.3.0用户指南.pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Aviator-2.3.0用户指南

Aviator 2.3.0 用户指南 使用手册 Phase-Support, Featured ? 版本变更 ? 简介 ? 特性 ? 整体结构 ? 依赖包 ? maven 依赖 ? 使用手册 o 执行表达式 o 使用变量 ? exec 方法 o 调用函数 ? 自定义函数 o 编译表达式 o 访问数组和集合 o 三元操作符 o 正则表达式匹配 o 变量的语法糖衣 o nil 对象 o 日期比较 o 大数计算和精度 ? 字面量表示 ? 运算 ? 类型转换和提升 ? decimal 的计算精度 o 强大的 seq 库 o 两种运行模式 o 调试信息 o 语法手册 ? 数据类型 ? 操作符 ? 算术运算符 ? 逻辑运算符 ? 关系运算符 ? 位运算符 ? 匹配运算符 ? 三元运算符 ? 操作符列表 ? 类型转换规则 ? 常量和变量 ? 内置函数 版本变更 ? 2013-05-18 完成 0.6 版本,添加大数和精度计算小节,适配 aviator 2.3.0 ? 2010-06-28 完成 0.1 版本 ? 2010-09-07 修改完成 0.2 版本 ? 2011-07-13 完成 0.3 版本,适配 aviator 2.0 ? 2011-09-18 完成 04.版本,适配 aviator 2.1.1 ? 2011-12-27 完成 0.5 版本,适配 aviator 2.2.1 简介 Aviator 是一个高性能、轻量级的 java 语言实现的表达式求值引擎,主要用于各种表达式的动 态求值。现在已经有很多开源可用的 java 表达式求值引擎,为什么还需要 Avaitor 呢? Aviator 的设计目标是轻量级和高性能 ,相比于 Groovy、JRuby 的笨重,Aviator 非常小,加 上依赖包也才 450K,不算依赖包的话只有 70K;当然,Aviator 的语法是受限的,它不是一门完 整的语言,而只是语言的一小部分集合。 其次,Aviator 的实现思路与其他轻量级的求值器很不相同,其他求值器一般都是通过解释的方 式运行,而 Aviator 则是直接将表达式编译成 Java 字节码,交给 JVM 去执行。简单来说, Aviator 的定位是介于 Groovy 这样的重量级脚本语言和 IKExpression 这样的轻量级表达式引擎 之间。 特性 Aviator 的特性 ? 支持大部分运算操作符,包括算术操作符、关系运算符、逻辑操作符、位运算符、正 则匹配操作符(=~)、三元表达式?: ,并且支持操作符的优先级和括号强制优先级,具 体请看后面的操作符列表。 ? 支持函数调用和自定义函数 ? 内置支持正则表达式匹配,类似 Ruby、Perl 的匹配语法,并且支持类 Ruby 的$digit 指向匹配分组。 ? 自动类型转换,当执行操作的时候,会自动判断操作数类型并做相应转换,无法转换 即抛异常。 ? 支持传入变量,支持类似 a.b.c 的嵌套变量访问。 ? 函数式风格的 seq 库,操作集合和数组 ? 性能优秀 Aviator 的限制: ? 没有 if else、do while 等语句,没有赋值语句,仅支持逻辑表达式、算术表达式、三元 表达式和正则匹配。 ? 不支持八进制数字字面量,仅支持十进制和十六进制数字字面量。 整体结构 Aviator 的结构非常简单,一个典型的求值器的结构 依赖包 commons-beanutils 和 commons-logging maven 依赖 使用 maven 添加下列依赖即可: dependency groupIdcom.googlecode.aviator/groupId artifactIdaviator/artifactId version2.3.0/version /dependency 使用手册 执行表达式 Aviator 的使用都是集中通过 com.googlecode.aviator.AviatorEvaluator 这个入口类来处理,最 简单的例子,执行一个计算 1+2+3 的表达式: import com.googlecode.aviator.AviatorEvaluator; public class SimpleExample { public static void main(String[] args) { Long result = (Long) AviatorEvaluator.execute

您可能关注的文档

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档