我想发送一个“事实”到java中的一个JESS文件,并得到结果。我基本上对JESS文件进行了批处理,然后通过.add()将我的数据(这里的结构)发送到引擎。我尝试将JESS结果(应该是一个字符串)转换为"Value“。
Rete engine = new Rete();
engine.batch("file.clp");
Value = AAAnull;
try{
engine.add(structure)
AAA = engine.eval("(run)");
} catch ...
System.out.println(AAA);结果总是一个数字,尽管结果应该是一个字符串。我已经在一个简单的java项目中解决了这个问题,AAA返回了字符串,但在这里它不起作用。
发布于 2013-04-17 22:43:10
(run)函数返回触发的规则数;这就是您在这里看到的数字。
运行程序的真正结果是它所引起的副作用;在Java中获得结果取决于您预期的副作用。这可能意味着来自collecting output printed to the screen、finding newly created facts in working memory或having your Jess program call Java methods that effect the outside world的任何内容。如果没有看过file.clp的内容,我不能说出您所期望的内容,但是所有列出的内容都在Jess手册中介绍了;上面的短语是到相应部分的链接。我很乐意回答你可能有的任何后续问题。
https://stackoverflow.com/questions/16048528
复制相似问题