Ruby 和规则引擎

     2023-05-08     88

关键词:

【中文标题】Ruby 和规则引擎【英文标题】:Ruby & Rules Engines 【发布时间】:2010-10-23 15:28:49 【问题描述】:

我正在寻找一种简单的方法来让用户定义一组规则来过滤对象。

例如。让他们定义类似“如果预订日期 100.00,请通知我有关预订”

或多或少:我想要一个带有自定义 DSL 的 Ruby 规则引擎。

有图书馆提供吗?遇到了 Ruleby,但它还不支持自定义 DSL。

最好的方法是什么?

【问题讨论】:

【参考方案1】:

看看wongi-engine gem,它是一个基于 Rete 算法的新规则引擎,最近引起了相当多的关注。

【讨论】:

【参考方案2】:

看看Treetop。您可以将您的 DSL 定义为解析表达式语法,然后对其进行解析以创建您喜欢的任何格式的规则。

【讨论】:

您好,感谢您的回答。 Treetop 看起来确实是一个解决方案。您是否有任何最佳实践网站的链接?在网上很难找到好东西。我正在考虑以下方法: - 让用户定义他们的规则 - 使用 Treetop 解析这些 - 基于这些规则创建 Ruby 代码 - 将这些输入到 Ruleby - 使用规则引擎过滤我的对象 这听起来太奇怪了吗? 不幸的是,我也没有在 Treetop 上找到资源。但是您的解决方案听起来像是正确的方法。祝你好运!【参考方案3】:

我不确切知道应该如何以及在哪些对象上评估这些规则,但如果这些是 ActiveRecord 模型,那么Ambition 可能是可行的方法。它可以让你用 ruby​​ 编写条件,例如:

User.select  |m| m.name == 'jon' && m.age == 21 

这将转换为 SQL,您将获得满足给定条件的所有用户

【讨论】:

看起来不错,但已不再维护。

旗正商业规则引擎和开源及其它规则引擎测试对比

 规则引擎在基础软件,或者在很多系统中已经不是稀奇的玩意,最近这几年,国内不断兴起很多的规则引擎,至于什么是规则引擎,在这篇文章中,就不做介绍了,我想能看以下内容的,多少对规则引擎也都有所了解了。国... 查看详情

c# 中的规则引擎设计和示例

】c#中的规则引擎设计和示例【英文标题】:rulesenginedesign&examplesinc#【发布时间】:2011-08-2508:10:43【问题描述】:我目前正在使用c#编写一个.net应用程序,并希望检查一些规则,并根据规则通过或失败执行操作。因此,我希望... 查看详情

规则引擎调研(drools和qlexpress)

参考技术A1.问题分析目前存在比较多的判断规则。而且分支逻辑过多,经常出现一些规则判断出现的数据问题。所以需要抽取一些规则条件。利用框架避免问题异常的出现2.框架调研目前常用的规则引擎如下:•常见的规则引... 查看详情

游戏 AI 的 Java 规则引擎

】游戏AI的Java规则引擎【英文标题】:JavaRuleEngineforGameAI【发布时间】:2010-10-0513:52:42【问题描述】:我想为我的游戏使用规则引擎。它将用于NPCAI和GMAI。为此目的,什么可能是一个好的和快速的规则引擎?它必须是Java和开源的... 查看详情

规则引擎的应用

java开源的规则引擎有:Drools、EasyRules、Mandarax、IBMILOG。使用最为广泛并且开源的是Drools。     规则引擎的优点声明式编程规则可以很容易地解决困难的问题,并得到解决方案的验证。与代码不同,规则以较不复杂的语... 查看详情

什么时候使用规则引擎drools

参考技术A规则引擎一般是一下情况使用1.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。2.市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。3.为了快速、低成本的更新,业务人... 查看详情

snf快速开发平台--规则引擎介绍和使用文档

设计目标:a)规则引擎语法能够满足分单,计费,WMS策略的配置要求。语法是一致和统一的b)能够在不修改规则引擎模块的情况下,加入任意一个新的规则;实现上述需求之外的规则配置需求c)运算速度快d)有良好的展现效... 查看详情

何时使用业务规则引擎

】何时使用业务规则引擎【英文标题】:WhenisaBusinessRulesEngineused【发布时间】:2010-10-2103:37:24【问题描述】:什么时候使用业务规则引擎?业务规则引擎和脚本/配置/定制有什么区别【问题讨论】:【参考方案1】:当您尝试在代... 查看详情

规则引擎easyrules介绍,应用及示例(代码片段)

浅析EasyRules规则引擎轻量级规则引擎EasyRulesJava规则引擎EasyRules一、EasyRules介绍1.1概述EasyRules是一个简单而强大的Java规则引擎,提供以下功能:轻量级框架和易于学习的API基于POJO的开发与注解的编程模型定义抽象的业务... 查看详情

规则引擎

参考技术A规则引擎drools的rete算法实现原理和事实匹配过程https://cloud.tencent.com/developer/article/1477434随笔分类-策略算法和规则引擎https://www.cnblogs.com/shangxiaofei/category/759910.htmlProductionMatchingForLargeLearningSystemshttp://reports-archive.adm.cs.cmu.... 查看详情

决策树和规则引擎 (Drools)

】决策树和规则引擎(Drools)【英文标题】:Decisiontreesandruleengines(Drools)【发布时间】:2011-06-2017:20:33【问题描述】:在我现在正在处理的应用程序中,我需要定期检查数以万计的对象是否符合某种服务的要求。决策图本身采用以... 查看详情

规则引擎用户界面设计

】规则引擎用户界面设计【英文标题】:RulesEnginesUserInterfaceDesign【发布时间】:2010-12-2604:02:09【问题描述】:在工作中,我们有优化引擎,这些引擎使用的输入之一是业务规则,我们使用专有的规则编辑器创建和编辑。这些规... 查看详情

Azure CDN 规则引擎

】AzureCDN规则引擎【英文标题】:AzureCDNRuleEngine【发布时间】:2017-11-1001:41:13【问题描述】:我在AzureCDN中托管和html网站(在Premier付费计划下),因此它为我提供了一个规则引擎,它提供了许多控制流程的功能。我想要URL重定向... 查看详情

Java规则引擎的优缺点[关闭]

】Java规则引擎的优缺点[关闭]【英文标题】:ProsandconsofJavarulesengines[closed]【发布时间】:2011-01-1103:52:14【问题描述】:采用Java规则引擎JESS和Drools的优缺点是什么?还有其他玩家吗?我知道Drools是开源的,而JESS不是,但它们在... 查看详情

我应该使用啥规则引擎? [关闭]

】我应该使用啥规则引擎?[关闭]【英文标题】:WhatruleengineshouldIuse?[closed]我应该使用什么规则引擎?[关闭]【发布时间】:2010-09-0514:48:54【问题描述】:有哪些最好或最受欢迎的规则引擎?我还没有确定编程语言,所以告诉我... 查看详情

关于规则引擎的神话是啥? [关闭]

】关于规则引擎的神话是啥?[关闭]【英文标题】:Whatarethemythsaboutrulesengine?[closed]关于规则引擎的神话是什么?[关闭]【发布时间】:2011-05-0610:36:33【问题描述】:我正在写一篇关于规则引擎技术的演示文稿,特别是JBossDrools。... 查看详情

规则引擎在数据分析中的应用

前言:规则引擎通过将业务规则和开发者的技术决策分离, 实现了动态管理和修改业务规则而又不影响软件系统的需求。以下通过实例对基于SQL 查询、自定义规则等一系列场景来说明规则引擎在数据分析中的应用。在现... 查看详情

规则引擎之easyrules

参考技术A首先EasyRule是一个规则引擎.这个名字由来是受到了MartinFowler的文章ShouldIuseaRulesEngineUsefulabstractionstodefinebusinessrulesandapplythemeasilywithJavaTheabilitytocreatecompositerulesfromprimitiveones循环打印1到100,但如果是5的倍数就印fizz,如果... 查看详情