- 浏览: 1012956 次
- 性别:
- 来自: 福州
最新评论
-
guanxin2012:
大神,您好。非常感谢您贡献了IKExpression。我们现在 ...
分享开源表达式解析器IK-Expression2.0 -
qqgigas:
LZ,public boolean createUser(LD ...
Sun Directory Server/LDAP学习笔记(二)——API说明及代码样例 -
gao_shengxian:
Hibernate: update T_GX_TEST set ...
优雅Java编程 之 使用Hibernate存储Oracle Spatial对象 -
a78113534:
感谢大神,在安卓里面调用成功了。
发布IK Expression开源表达式解析器 V2.1.0 -
majiedota:
加油
来自开源支持者的第一笔捐赠
Version2.1的变更:
新增org.wltea.expression.ExpressionEvaluator. preparedCompile(String expression , Collection<Variable> variables)方法和类org.wltea.expression.PreparedExpression用来支持表达式预编译。用户可以像处理SQL语句那样,对需要循环执行的相同表达式进行预编译处理,而后设置不同的执行参数,得到不同的计算结果。详见”API说明”.
修订了对声明为Object类型的参数传入Integer、Double、String等类型的值时,会抛出类型不匹配异常的问题。原来版本中,参数必须显式申明为DATATYPE_OBJECT类型,新版本则不需要,所有java类型默认继承于Object。
修改了ExpressionEvaluator的两个compile方法,不再抛出IllegalExpressionException异常,而改为运行期异常,以简化用户编码。
下载地址:
IKExpressionV2.1.0完整压缩包
IKExpressoin简易表达式引擎V2.1.0使用说明.pdf
google code开源地址:http://code.google.com/p/ik-expression/
更多详细请参阅RAR包内的《IKExpressoin简易表达式引擎V2.1.0使用说明.doc》文档
你的问题可能是double类型与int类型的兼容问题,已经修正,请到这里下载新版本:IK Expression V2.1.1
给我你的$ABS的声明,以及报的异常,谢谢
抱歉抱歉,关键是公司的开发环境统一1.6了,不好切换的说,而且1.6的性能和新特性还是很不错的
哈哈,那就好,那就好,这个很正常,我自己也常常被这种问题困扰,呵呵。
有问题希望多反馈,项目才能进步。
这个应该可以啊,要不你试试我上面的代码,应该是一样的。(有点怀疑你的jar包没更新)
不知道还有人有这样的问题啵,给点反馈啊。
兄弟,给点代码和配置好伐?你这么说跟没说有啥区别啊
本人测试一下代码,没有你说的问题啊!
能说的细一些嘛?
又或者是你版本下的不对?
新增org.wltea.expression.ExpressionEvaluator. preparedCompile(String expression , Collection<Variable> variables)方法和类org.wltea.expression.PreparedExpression用来支持表达式预编译。用户可以像处理SQL语句那样,对需要循环执行的相同表达式进行预编译处理,而后设置不同的执行参数,得到不同的计算结果。详见”API说明”.
/** * Hello World Example * @param args */ public static void main(String[] args){ if(args.length == 0){ args = new String[1]; args[0] = "IK Expression V2.0.5"; } //定义表达式 String expression = "\"Hello \" + 版本"; //给表达式中的变量 [版本] 付上下文的值 List<Variable> variables = new ArrayList<Variable>(); variables.add(Variable.createVariable("版本", args[0])); //预编译表达式 PreparedExpression pe = ExpressionEvaluator.preparedCompile(expression, variables); //执行表达式 Object result = pe.execute(); System.out.println("Result = " + result); //更改参数,再次执行预编译式 pe.setArgument("版本", "IK Expression V2.0.6"); result = pe.execute(); System.out.println("Result = " + result); }
修订了对声明为Object类型的参数传入Integer、Double、String等类型的值时,会抛出类型不匹配异常的问题。原来版本中,参数必须显式申明为DATATYPE_OBJECT类型,新版本则不需要,所有java类型默认继承于Object。
修改了ExpressionEvaluator的两个compile方法,不再抛出IllegalExpressionException异常,而改为运行期异常,以简化用户编码。
下载地址:
IKExpressionV2.1.0完整压缩包
IKExpressoin简易表达式引擎V2.1.0使用说明.pdf
google code开源地址:http://code.google.com/p/ik-expression/
更多详细请参阅RAR包内的《IKExpressoin简易表达式引擎V2.1.0使用说明.doc》文档
评论
15 楼
a78113534
2015-08-01
感谢大神,在安卓里面调用成功了。
14 楼
linliangyi2007
2009-09-24
nick216 写道
还想请教一下:
这句我可以执行
这句我就报错?
Object result = ExpressionEvaluator.evaluate("$ABS(-2+3.0)+3"); System.out.println("Result = " + result);
这句我可以执行
Object result = ExpressionEvaluator.evaluate("$ABS(-2+3)+3"); System.out.println("Result = " + result);
这句我就报错?
你的问题可能是double类型与int类型的兼容问题,已经修正,请到这里下载新版本:IK Expression V2.1.1
13 楼
linliangyi2007
2009-09-24
nick216 写道
还想请教一下:
这句我可以执行
这句我就报错?
Object result = ExpressionEvaluator.evaluate("$ABS(-2+3.0)+3"); System.out.println("Result = " + result);
这句我可以执行
Object result = ExpressionEvaluator.evaluate("$ABS(-2+3)+3"); System.out.println("Result = " + result);
这句我就报错?
给我你的$ABS的声明,以及报的异常,谢谢
12 楼
nick216
2009-09-24
也想朋友们推荐另外一个开源项目
jeval
我觉得也不错
除了不知道“?”运算以外
jeval
我觉得也不错
除了不知道“?”运算以外
11 楼
nick216
2009-09-24
还想请教一下:
这句我可以执行
这句我就报错?
Object result = ExpressionEvaluator.evaluate("$ABS(-2+3.0)+3"); System.out.println("Result = " + result);
这句我可以执行
Object result = ExpressionEvaluator.evaluate("$ABS(-2+3)+3"); System.out.println("Result = " + result);
这句我就报错?
10 楼
linliangyi2007
2009-09-24
nick216 写道
为什么JDK版本这么高
1.6?
搞的我不能直接只用
楼主不用1.4的,最起码用个1.5吧
哎。。。
1.6?
搞的我不能直接只用
楼主不用1.4的,最起码用个1.5吧
哎。。。
抱歉抱歉,关键是公司的开发环境统一1.6了,不好切换的说,而且1.6的性能和新特性还是很不错的
9 楼
nick216
2009-09-24
为什么JDK版本这么高
1.6?
搞的我不能直接只用
楼主不用1.4的,最起码用个1.5吧
哎。。。
1.6?
搞的我不能直接只用
楼主不用1.4的,最起码用个1.5吧
哎。。。
8 楼
linliangyi2007
2009-09-16
dongfengpo25 写道
哦,可以了,无好意思啊. 可能是包没有应用好.
现在可以传值了.
谢谢!!!
现在可以传值了.
谢谢!!!
哈哈,那就好,那就好,这个很正常,我自己也常常被这种问题困扰,呵呵。
有问题希望多反馈,项目才能进步。
7 楼
dongfengpo25
2009-09-16
哦,可以了,无好意思啊. 可能是包没有应用好.
现在可以传值了.
谢谢!!!
现在可以传值了.
谢谢!!!
6 楼
linliangyi2007
2009-09-15
dongfengpo25 写道
例如:
定义: ... Max(Object a,Object b)....
替换: Max() --- $Max
配置: <function name="MaxEx" method="MaxEx">
<parameter-type>java.lang.Object</parameter-type>
<parameter-type>java.lang.Object</parameter-type>
</function>
调用: Max(1000,0.0)
这样子应该可以了吧
定义: ... Max(Object a,Object b)....
替换: Max() --- $Max
配置: <function name="MaxEx" method="MaxEx">
<parameter-type>java.lang.Object</parameter-type>
<parameter-type>java.lang.Object</parameter-type>
</function>
调用: Max(1000,0.0)
这样子应该可以了吧
这个应该可以啊,要不你试试我上面的代码,应该是一样的。(有点怀疑你的jar包没更新)
不知道还有人有这样的问题啵,给点反馈啊。
5 楼
dongfengpo25
2009-09-15
例如:
定义: ... Max(Object a,Object b)....
替换: Max() --- $Max
配置: <function name="MaxEx" method="MaxEx">
<parameter-type>java.lang.Object</parameter-type>
<parameter-type>java.lang.Object</parameter-type>
</function>
调用: Max(1000,0.0)
这样子应该可以了吧
定义: ... Max(Object a,Object b)....
替换: Max() --- $Max
配置: <function name="MaxEx" method="MaxEx">
<parameter-type>java.lang.Object</parameter-type>
<parameter-type>java.lang.Object</parameter-type>
</function>
调用: Max(1000,0.0)
这样子应该可以了吧
4 楼
linliangyi2007
2009-09-15
dongfengpo25 写道
版本是2.1的,然后定义一个函数,参数为OBJECT,传值类型为0.0,就报出错误,如上.
兄弟,给点代码和配置好伐?你这么说跟没说有啥区别啊
本人测试一下代码,没有你说的问题啊!
/** * Hello World Example * @param args */ public static void main(String[] args){ //定义表达式 String expression = "$问好(数字类型)"; //给表达式中的变量 [用户名] 付上下文的值 List<Variable> variables = new ArrayList<Variable>(); variables.add(new Variable("数字类型" , DataType.DATATYPE_OBJECT , new Integer(0))); //执行表达式 PreparedExpression pe = ExpressionEvaluator.preparedCompile(expression, variables); System.out.println("Result = " + pe.execute()); pe.setArgument("数字类型", new Float(100)); System.out.println("Result = " + pe.execute()); pe.setArgument("数字类型", new Double(100)); System.out.println("Result = " + pe.execute()); Object result = null; result = ExpressionEvaluator.evaluate("$问好(1.0)"); System.out.println("Result = " + result); result = ExpressionEvaluator.evaluate("$问好(1)"); System.out.println("Result = " + result); }
<bean class="org.wltea.expression.test.TestFunctions"> <function name="问好" method="sayHello"> <parameter-type>java.lang.Object</parameter-type> </function> </bean>
3 楼
dongfengpo25
2009-09-15
版本是2.1的,然后定义一个函数,参数为OBJECT,传值类型为0.0,就报出错误,如上.
2 楼
linliangyi2007
2009-09-14
dongfengpo25 写道
还是会出现类似问题啊?
函数参数类型不匹配,函数类型为:java.lang.Object 传入参数类型为:double
函数参数类型不匹配,函数类型为:java.lang.Object 传入参数类型为:double
能说的细一些嘛?
又或者是你版本下的不对?
1 楼
dongfengpo25
2009-09-14
还是会出现类似问题啊?
函数参数类型不匹配,函数类型为:java.lang.Object 传入参数类型为:double
函数参数类型不匹配,函数类型为:java.lang.Object 传入参数类型为:double
发表评论
-
来自开源支持者的第一笔捐赠
2013-01-09 21:15 57812013年1月9号,一个平凡而又不平常的日子! IK中文分词 ... -
发布 IK Analyzer 2012 FF 版本
2012-10-23 17:50 25081首先感谢大家对IK分词器的关注。 最近一段时间正式公司事务最 ... -
发布 IK Analyzer 2012 版本
2012-03-08 11:23 36176新版本改进: 支持分词歧义处理 支持数量词合并 词典支持中英 ... -
CSDN发生严重用户账号泄密事件
2011-12-21 19:21 2566之前有在CSDN注册过的兄弟们,注意了。。。 如果你的邮箱, ... -
一个隐形的java int溢出
2011-08-30 09:44 7560故事的背景: 笔者最近在做一个类SNS的项目,其中 ... -
雷军 :互联网创业的葵花宝典
2011-05-04 10:35 3596博主评: 这片博客很短 ... -
Luci-mint站内搜索实测
2011-04-02 16:18 4141关于Luci-mint 服务器硬 ... -
发布 IK Analyzer 3.2.8 for Lucene3.X
2011-03-04 17:49 14254IK Analyzer 3.2.8版本修订 ... -
TIPS - XML CDATA中的非法字符处理
2011-02-17 15:03 3305XML解析过程中,常遇见CDATA中存在非法字符,尤其在火星文 ... -
对Cassandra的初体验
2010-10-13 17:58 9137作为“云计算”时代的架构设计人员而言,不懂K-V库会被 ... -
Spring + iBatis 的多库横向切分简易解决思路
2010-10-11 13:43 93551.引言 笔者最近在做一个互联网的“类SNS”应用,应用 ... -
发布 IK Analyzer 3.2.5 稳定版 for Lucene3.0
2010-09-08 14:43 5823新版本IKAnnlyzer3.2.8已发布! 地址: http ... -
关于Lucene3.0.1 QueryParser的一个错误
2010-05-21 21:33 2128表达式1: 引用 id:"1231231" ... -
发布 IK Analyzer 3.2.3 稳定版 for Lucene3.0
2010-05-15 14:13 6717IK Analyzer 3.2.3版本修订 在3.2.0版 ... -
windows平台上的nginx使用
2010-01-28 17:13 3406转载自:http://nginx.org/en/docs/wi ... -
发布IKAnnlyzer3.2.0稳定版 for Lucene3.0
2009-12-07 09:27 9579最新3.2.5版本已经推出,http://linliangyi ... -
在Tomcat下以JNDI方式发布JbossCache
2009-12-04 10:57 3829前言: 看过JbossCache的开发手册,发现在Jb ... -
Spring AOP小例子
2009-11-16 10:35 3404PS: 要注明一下,这个是转载滴,之前漏了说鸟,汗死 这里给 ... -
ActiveMQ 5.X 与 Tomcat 集成一(JNDI部署)
2009-11-10 15:15 5649原文地址:http://activemq.apache.org ... -
发布IKAnalyzer中文分词器V3.1.6GA
2009-11-08 23:10 11856IKAnalyzer3.2.0稳定版已经发布,支持Lucene ...
相关推荐
IK Expression开源表达式解析器V2.1.2是一款用于处理和解析文本表达式的强大工具,广泛应用于各类软件开发和数据分析场景。它以其高效、灵活和可扩展性著称,为开发者提供了便捷的方式来处理和执行复杂的逻辑表达式...
IK Expression 是一个开源的(OpenSource),可扩展的(Extensible), 基于java 语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行 工具包。它是一个采用逆波兰式算法结合指针栈优化的公式解析引擎...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。
在IKExpression V2.1.0中,开发者可以定义自己的表达式语言,这些语言可以用于计算数值、控制流程、访问对象属性、调用方法等。这种功能使得它成为业务逻辑配置、规则引擎、动态脚本等场景的理想选择。 ...
### IKExpression简易表达式引擎V2.1.0使用说明 #### 1. IK表达式介绍(IKExpressionIntroduction) **IKExpression** 是一款基于 Java 的开源、可扩展且超轻量级的公式化语言解析执行工具包。它不依赖于任何第三...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK ExpressionV2.0.5不依赖于任何第三方的java库。它做为一...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK ExpressionV2.X.X不依赖于任何第三方的java库。它做为一...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK Expression V2.0不依赖于任何第三方的java库。它做为...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。 IK ExpressionV2.0不依赖于任何第三方的java库。它做为一...
IK Expression 是一个开源的(OpenSource),可扩展的(Extensible), 基 于java 语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行 工具包。IK Expression 不依赖于任何第三方的java 库。它做为一...
为了便于理解和使用,还提供了"IKExpressoin简易表达式引擎V2.1.0使用说明.pdf"文档,详细介绍了API的使用方法和示例代码,帮助初学者快速上手。 配置文件"IKExpression.cfg.xml"可能包含了IKExpression的配置参数...
IK中文分词器在Elasticsearch上的使用。原生IK中文分词是从文件系统中读取词典,es-ik本身可扩展成从不同的源读取词典。目前提供从sqlite3数据库中读取。es-ik-plugin-sqlite3使用方法: 1. 在elasticsearch.yml中...
IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文...
标题:"IKAnalyzer中文分词器v2012使用手册" 所述的知识点包括: IKAnalyzer是一款开源的基于Java语言开发的轻量级中文分词工具包,最早版本于2006年12月发布。作为一个文本分析组件,它最初是作为开源项目Lucene的...
IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载8.12.2版本IK智能分词器下载...
**Elasticsearch与IK中文分词器** Elasticsearch(ES)是一款强大的开源搜索引擎,它基于Lucene构建,提供实时、分布式、可扩展的搜索和分析能力。在处理中文文档时,由于中文句子中词语之间没有明显的分隔符,因此...
**IKAnalyzer中文分词器V3.2使用详解** IKAnalyzer是一款开源的、适用于Java环境的中文分词器,主要用于解决在信息检索、文本挖掘等领域中遇到的中文处理问题。这款分词器的设计目标是提高分词的准确率,并且具有...
IKAnalyzer是一个开源的中文分词器,基于Java语言开发,它是一个轻量级的中文分词工具包。IKAnalyzer自2006年12月推出1.0版本以来,已经发展到了2012版本。这个分词器最初是基于开源项目Lucene的词典分词和文法分析...
IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文...
IK是开源的中文分词组件,全称为"Intelligent Chinese Analyzer for Java",它主要针对Java平台设计,广泛应用于各种中文处理场景,如搜索引擎、文本分析等。在本压缩包中,"IKExpressionV2.1.2AllInOne"表示的是IK...