如何在Android / kotlin中使用CLIPS规则引擎获取输出

问题描述 投票:0回答:1

[嗨,我是剪辑规则引擎的新手,必须在移动应用程序(Android / Kotlin)的剪辑中进行以下操作。我们正在使用CLIPS4android库作为JNI的包装器。

如何通过调用clips.run()执行规则时如何从类文件中获取输出>

class RulesTest(filepath:String?){私人val片段:环境有趣的stop(){clips.destroy()}

/**
 * Example of how to use "assert".
 * @throws CLIPSError
 */
@Throws(CLIPSError::class)
fun assertItems(products: List<Item>) {
    for (product in products) {
        Log.d(tag, "(Product " + "(productId " + product.ProductId + ")" + "(uomid " + product.UOMId + " )" + "(quantity " + product.Quantity + " ))")
        var InsertItem: String
        InsertItem = "(Product " + "(productId " + product.ProductId + ")" + "(uomid " + product.UOMId + " )" + "(quantity " + product.Quantity + " ))"
        clips.assertString(InsertItem)
    }
}

fun run() {
    clips.eval("(facts)");
    clips.run()
}

companion object {
    const val tag = "CLIPSProductRulesTest"
}

init {
    clips = Environment()
    clips.load(filepath)
    Log.d(tag, "Loading .clp...\n\n")
    clips.reset()
}

}

[嗨,我是剪辑规则引擎的新手,必须在移动应用程序(Android / Kotlin)的剪辑中进行以下操作。我们使用CLIPS4android库作为JNI的包装。当...

android kotlin rules clips
1个回答
0
投票

在CLIPSJNI的0.4版本中,您可以定义Router类的实现以捕获输出,然后可以在实现的print方法中对输出进行任何所需的操作。

© www.soinside.com 2019 - 2024. All rights reserved.