- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- Analytical+Model+and+Algorithm+of+Fuzzy+Fault+Tree.pdf
- Analyzing Magang Financial Statements_2010.pdf
- Analytical Model of the Split-Coaxial Balun and Its Application to a Linearly-Polarized Dipole or a.pdf
- and CaF2-MF2.pdf
- AND price(co123,P) AND quantity(co123,Q) AND.pdf
- Analytic Resolution of Puzzle in $Bto K pi$ decays.pdf
- Analysis, Modeling and Generation of Self-Similar VBR Video Traffic.pdf
- Analyzing probabilistic models in hierarchical boa on traps and spin glasses.pdf
- and its Application to Measurement-based Admission Control.pdf
- Andreev reflection and strongly enhanced magnetoresistance oscillations in GaInAsInP hetero.pdf
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
最近下载
- 学生工作单位实习证明word模板.docx
- 横河CS3000中文培训从讲解到组态最全资料.ppt VIP
- 内容讲义文本kyn28型开关柜及五防系统.ppt
- 四年级上册美术试卷国家义务教育质量监测答案.pdf VIP
- 2024年四川省广安市《保安员证》考试题库含答案 .pdf VIP
- 毕业设计(论文)-基于PLC的电梯控制系统设计.doc
- 糖尿病护理业务学习护理课件.pptx VIP
- 三菱电梯MAXIEZ-CZ调试大纲.pdf
- 东芝2307维修手册 东芝200623062506维修手册.doc
- 中考英语阅读训练Gulliver's Travels (selection)《格列佛游记》(选段).pdf VIP
文档评论(0)