drools:如何分配给局部变量

发布于 2024-12-10 06:23:32 字数 364 浏览 0 评论 0原文

我被 Drools 5 困住了,需要一点帮助。 我想做的是使用传入的 DAO 并将其中的值分配给局部变量,就像这样...

rule "test rule 1"
when
    $carDao : ICarDAO( )
    $x : $carDao.getMap()
    eval (
       $x.contains("a") && $x.contains("b")
    )
then
// do stuff
end

Drools 5 不允许分配局部变量。 我想分配一个局部变量,这样我就不必对 DAO 进行两次相同的调用。

那么有人可以指出我正确的方向吗?

谢谢! 杰夫·波特

I'm stuck with Drools 5 and need a little help.
What I'd like to do is use a passed in DAO and assign a value from that to a local variable, like this...

rule "test rule 1"
when
    $carDao : ICarDAO( )
    $x : $carDao.getMap()
    eval (
       $x.contains("a") && $x.contains("b")
    )
then
// do stuff
end

Drools 5 doesn't allow assignment of local variables though.
I'd like to assign to a local variable so that I don't have to make the same call twice to the DAO.

So could someone point me in the correct direction please?

Thanks!
Jeff Porter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

悲凉≈ 2024-12-17 06:23:32
rule "test rule 1"
when
    $carDao : ICarDAO( )
    $x: java.util.Map( ) from  $carDao.getMap()
    eval (
       $x.contains("a") && $x.contains("b")
    )
then
// do stuff
end

达..达!

rule "test rule 1"
when
    $carDao : ICarDAO( )
    $x: java.util.Map( ) from  $carDao.getMap()
    eval (
       $x.contains("a") && $x.contains("b")
    )
then
// do stuff
end

ta..dar!

秉烛思 2024-12-17 06:23:32
rule "test rule 1"
when
    $carDao : ICarDAO( $x : map )
    eval (
       $x.contains("a") && $x.contains("b")
    )
then
    // do stuff
end

或者从 5.2 开始:

rule "test rule 1"
when
    $carDao : ICarDAO( $x : map, map.contains("a"), map.contains("b") )
then
    // do stuff
end
rule "test rule 1"
when
    $carDao : ICarDAO( $x : map )
    eval (
       $x.contains("a") && $x.contains("b")
    )
then
    // do stuff
end

or since 5.2:

rule "test rule 1"
when
    $carDao : ICarDAO( $x : map, map.contains("a"), map.contains("b") )
then
    // do stuff
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文