当前位置: 首页 > news >正文

网站开发技术概述餐饮品牌策划

网站开发技术概述,餐饮品牌策划,门户网站网页设计规范,苏州专业网站seo推广dmn是大脑中哪个区域在本文中#xff0c;我想分享有关DMN中递归支持的有趣见解#xff0c;并重点介绍FEEL语言的特定属性如何使功能性编程结构能够在DMN中建模。 我们将从一个基本示例开始#xff0c;以演示FEEL语言和DMN构造的“商业友好”性质如何使我们能够解决一个通常… dmn是大脑中哪个区域 在本文中我想分享有关DMN中递归支持的有趣见解并重点介绍FEEL语言的特定属性如何使功能性编程结构能够在DMN中建模。 我们将从一个基本示例开始以演示FEEL语言和DMN构造的“商业友好”性质如何使我们能够解决一个通常不愉快的问题递归函数的定义。 然后我们将在FP土地中冒险在FEEL / DMN的Gradle中我们将欣赏功能构造最好的生物之一Y Combinator。 最后我们将发现自己再次被问到一个著名的问题 使用纯工程方法让我们立即深入研究问题 基本递归示例 Drools DMN开源引擎允许在DMN商业知识模型节点中提供递归支持。 这使递归函数的建模非常容易 这是在DMN中为递归函数建模时的推荐方法 允许函数以其名称进行调用。 让我们看一个简单的示例在DMN中对阶乘函数建模。 我们可以使用Kogito DMN编辑器并如下定义DRD 使用“事实”业务知识模型简称BKM节点以递归方式定义实际的阶乘函数为 我们可以注意到该函数像其他任何普通函数一样调用自身 递归函数唯一的区别是它被定义为DMN Boxed Expression的一部分 该函数的名称由BKM节点使用框式表达式构造“ fac”定义然后该函数的主体进行引用并将其自身作为FEEL表达式“ facn-1”的一部分进行调用。 我们可以使用此BKM来计算输入数据节点传递的实际结果作为“计算阶乘”决策的一部分如下所示 这可以很好地工作并给出预期的结果 { 我的电话3 fac函数facn 计算阶乘6 } 关于柯里 DMN以及更重要的是FEEL语言允许定义和调用咖喱函数。 这使我们可以在FEEL中编写如下内容 {ffunctionafunctionba brf12} 哪里 我们定义了一个touchcontext有2个条目 第一个条目名为“ f”并定义了一个咖喱函数一个参数“ a”的函数一旦被调用将返回一个参数“ b”的函数一旦被调用将返回a b的和 后一个名为“ r”的条目以a 1和b 2调用咖喱函数。 尽管这可能是看起来很奇怪的FEEL表达式但是一旦执行r 3我们就不会感到惊讶。 我们可以使用DMN Boxed Expression构造等效地做 这是一个名为“咖喱和”的BKM节点 DMN可调用一个参数“ a”一旦被调用将返回一个参数“ b”的函数该参数一旦被调用将返回a b的和。 同样一旦执行我们就不会感到惊讶 咖喱和12 3 Y组合器无递归支持的递归 让我们回头看一下前面的递归函数示例。 我们忽略了以下事实在DMN中函数实际上是否可以通过其名称进行调用DMN规范并未明确支持此功能但也未明确禁止它。 换句话说没有正式指定递归支持。 如果我们仍然需要定义递归函数但又发现道路仍在建设中缺少正式的递归支持该怎么办 我们可以使用一种称为“ Y Combinator ”的功能设备该设备允许匿名函数实现递归而不必依靠自身不存在的名称进行自我调用。 让我们看一个例子 我们可以在DMN中定义Y组合器如下所示 它可能是一个看起来很奇怪的函数让我们假设它是为我们定义的我们可以使用它。 我们可以使用它来重新定义阶乘计算如下所示 我们可以注意到“ fac”函数定义的主体在总体上是相同的 但是它不再是一个通过名称调用自身的函数在函数主体中没有对“ fac…”的调用的痕迹 自然仍然会有某种形式的递归发生但是这次是利用闭包范围内的参数名称“ f”。 结果按预期工作 fac3 6 我们可以看一下另一个示例该示例使用DMN中的Y组合器定义斐波那契序列 我们再次注意到函数体中没有对“ fib…”的调用但是由于使用了Y组合器因此可以执行斐波那契数列的递归计算。 再次结果按预期工作 fib5 [1、2、3、5] 为了获得更多乐趣我们可以使用DMN Boxed Expression形式重新定义Y组合器。 这是一个有趣的练习以了解如何在其盒装变量中应用闭包。 Y组合器的定义可以重构为 这将再次产生相同的预期和正确结果。 对于额外额外的乐趣我们可以在单个FEEL表达式中再次重新定义Y组合器以计算例如4的阶乘 {YfunctionffunctionxxxfunctionyffunctionxyyxfacYfunctionffunctionn如果n 1则n * fn-1否则1fac4fac4} .fac4 结果不出所料24。 结论 在本文中我们看到了DMN中递归的基本示例并且如何在引擎中利用递归支持非常简单。 支持引擎递归支持是我们建议实现递归DMN的方法给函数命名并在函数主体中使用该名称来调用自身。 在示例中我们将函数命名为“ fac”然后在函数本身的主体中调用了“ fac…”。 这种方法非常实用易于在DMN中建模并且效果很好。 我们还看到了DMN和FEEL如何确实支持咖喱函数定义和调用。 FEEL也是一种功能语言 所有这些属性使我们能够在DMN中定义并使用Y Combinator这是一种无需递归支持即可实现递归的功能性设备 我个人发现这些练习对于在DMN中应用功能编程概念非常有趣同时确保引擎按预期运行。 我要特别感谢我的同事Edoardo Vacchi和Luca Molteni在讨论Y组合器和Currying函数时所给予的支持。 对DMN感兴趣 如果您以前不了解DMN那么您会发现这篇文章很有趣但是想对DMN标准进行温和介绍我们就DMN提供了正确的速成课程您可以通过以下网址免费获得 http://learn-dmn-in-15-minutes.com 翻译自: https://www.javacodegeeks.com/2020/04/functional-programming-in-dmn-it-feels-like-recursing-my-university-studies-again.htmldmn是大脑中哪个区域
http://www.zqtcl.cn/news/430807/

相关文章:

  • 如何做网站排名合肥全网优化
  • 网站建设招聘信息官网 wordpress
  • 城阳网站开发公司网页制作与设计在哪搜题
  • 做网站算运营吗grace wordpress
  • 厦门建设网站建站制作网页动画的软件
  • 百度提交网站收录入口郑州网站app开发
  • 自己的身份已经网站备案了品牌建设目标包括哪些方面
  • 中国免费网站服务器下载保定网站制作系统
  • 深圳app网站设计数据库网站建设公司
  • 手机网站程序下载做地方黄页网站
  • 网站开发时如何设计英文版本专业vi机构
  • 黄骅市人事考试网电商网站怎样优化
  • 可信网站认证必须做吧陕西做网站的
  • 网站怎么静态化wordpress视频安装教程
  • 合浦县建设局网站网站备案号如何查询
  • 网站跳转代码 html亚马逊使用wordpress做的
  • 做哪一类的网站可以短时间变现东莞大朗网站设计
  • 框架网站模板建设淘宝客网站.lc和ev
  • 驻马店做网站推广涞源县住房和城乡建设局网站
  • 国外seo大神如何做网站 seo
  • 网站建设外文版要求昆山网站建设怎么样
  • 合肥知名网站制作网站建设宣传的目的
  • 曲阜做网站哪家好asp.net网站打不开html页面
  • 品牌网站开发普通人做电商赚钱吗
  • 网站建设与维护理解视频当背景图片 网站开发
  • 站酷设计师网站wordpress 设置静态内容缓存时间
  • 网站推广做什么好看的电商网站模板下载
  • 如何打破违法网站wordpress 无法上传文件
  • 自己做网站的软件下载wordpress发布文章 更新失败
  • 电大企业网站建设论文范文搜狗推广登录入口