【干货】Java函数式编程公式大全,收藏学习!
函数操作是现代编程领域中的核心概念之一,它以类似 Excel 表格的方式进行数据处理和计算。它的特点是使用公式和函数来描述数据之间的关系和计算逻辑;它允许我们以更高效、更有组织的方式管理和处理数据。
在函数式编程中,数据被组织成表格的形式,每列代表一个数据字段或变量,每行代表一个数据记录。可以通过公式和函数将不同的数据字段进行计算和操作,生成新的计算结果。
JVS-rules规则中函数可灵活应用,可自行扩展,对于数据收集也有很多作用:
(1)可以提高效率,将一些数据自动计算出来,减少需要填写的内容
如,分数在 90 以上时等级为 A,否则为 B。那么在输入分数之后,等级是 A 或 B 就能根据公式自动判断出来。
(2)可以减少错误
如,当前库存总数量=入库数量-已出库数量。那么在入库数量、已出库数量输入之后,当前库存总数量就能根据公式自动计算出来,避免手工计算出错。
基础变量的函数操作(部分)如下:
函数 | 函数分类 | 说明 | 说明 | 上手实例 |
EQ | 逻辑函数 | 两个值比较,相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true | 2个,必填 | EQ(value1,value2) |
NE | 逻辑函数 | 两个值比较,不相等返回 true,默认忽略大小写,若不忽略,则填写第三个参数true | 2个,必填 | NE(value1,value2) |
LT | 逻辑函数 | value1小于value2返回 true | 2个,必填 | LT(value1,value2) |
GT | 逻辑函数 | value1大于value2返回 true | 2个,必填 | GT(value1,value2) |
LE | 逻辑函数 | value1小于等于value2返回 true | 2个,必填 | LE(value1,value2) |
GE | 逻辑函数 | value1大于等于value2返回 true | 2个,必填 | GE(value1,value2) |
AND | 逻辑函数 | 当参数组中的所有参数逻辑值为 true 时(逗号隔开的逻辑式子都满足),才返回 true,当参数组中的任何一个参数逻辑值为 false 时,就会返回false。 | 至少1个,必填 | AND(logical1, [logical2], ...) |
OR | 逻辑函数 | 在参数组中,任何一个参数逻辑值为 true(逗号隔开的逻辑式子其中一项满足),即返回 true;只有当所有逻辑参数值为 false,才返回 false。 | 至少1个,必填 | OR(logical1,[logical2], ...) |
NOT | 逻辑函数 | 对参数逻辑值求反。NOT 比较简单,就是把括号里为 true 的值变成 false,括号里为 false 的值变为 true。 | 1个,必填 | NOT(logical) |
IF | 逻辑函数 | 判断一个条件能否满足;如果满足返回一个值,如果不满足则返回另外一个值 | 3个,必填 | IF(A,B,C) |
ISEMPTY | 逻辑函数 | 判断一个字段是否为空;如果为空,则返回 true;如果不为空则返回 false | 1个,必填 | ISEMPTY(字段) |
CONCATENATE | 文本函数 | 将多个字符串拼接合成一个文本字符串 | 至少1个,必填 | CONCATENATE(text1,[text2], ...) |
LEFT | 文本函数 | 从一个文本字符串的第一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回 | 2个,必填 | LEFT(text,num_chars) |
RIGHT | 文本函数 | 从一个文本字符串的最后一个字符开始返回指定个数的字符,如果文本长度小于自定字符个数,就将原始文本返回 | 2个,必填 | RIGHT(text,num_chars) |
LEN | 文本函数 | 返回文本字符串中的字符个数 | 1个,必填 | LEN(text) |
LOWER | 文本函数 | 将一个文本字符串中的所有大写字母转换为小写字母 | 1个,必填 | LOWER(text) |
UPPER | 文本函数 | 将一个文本字符串中的所有小写字母转换为大写字母 | 1个,必填 | UPPER(text) |
REPLACE | 文本函数 | 根据指定的字符数,将部分文本字符串替换为不同的文本字符串 | 1个,必填 | REPLACE(oldtext, startnum, numchars, newtext) |
REPT | 文本函数 | 将文本重复指定次数 | 2个,必填 | REPT(text, number_times) |
SEARCH | 文本函数 | 在第二个文本字符串中查找第一个文本字符串,并返回第一个文本字符串的起始位置的编号,该编号从第二个文本字符串的第一个字符算起。返回 0 则表示未查找到 | 3个,前2个必填 | SEARCH(findtext,withintext,[start_num]) |
MID | 文本函数 | 截取文本的有效部分内容 | 3个,必填 | MID(text,start_index,end_index) |
ISEMPTY | 文本函数 | 判断值是否为空字符串、空对象或者空数组 | 1个,必填 | ISEMPTY(text) |
ADD | 数学函数 | 计算多个字段值总和 | 至少1个,必填 | ADD(number1, [number2], ...) |
AVERAGE | 数学函数 | 求多个数值的平均值 | 至少1个,必填 | AVERAGE(number1, [number2], ...) |
MAX | 数学函数 | 返回一组数字中的最大值 | 至少1个,必填 | MAX(Number1, [Number2], ...) |
MIN | 数学函数 | 返回一组数字中的最小值 | 至少1个,必填 | MIN(Number1, [Number2], ...) |
ABS | 数学函数 | 当数值为负数的时候返回他的绝对值数值 | 1个,必填 | ABS(Number) |
ROUND | 数学函数 | 数值出现小数点的时候,将小位数指定到对应的位数 | 2个,必填 | ROUND(number, num_digits) |
CEILING | 数学函数 | 返回将参数 number 向上舍入(沿绝对值增大的方向)为最接近的指定基数的倍数 | 2个,必填 | CEILING(number, significance) |
FLOOR | 数学函数 | 将参数 number 向下舍入(沿绝对值减小的方向)为最接近的 significance 的倍数 | 2个,必填 | FLOOR(number, significance) |
INTNUM | 数学函数 | 将数字向下舍入到最接近的整数 | 1个,必填 | INTNUM(number) |
LOG | 数学函数 | 根据指定底数返回数字的对数 | 2个,必填 | LOG(number, base) |
MOD | 数学函数 | 返回 2 个数值组件相除的余数 | 2个,必填 | MOD(number, divisor) |
POWER | 数学函数 | 计算出数值组件乘幂的值 | 2个,必填 | POWER(number, power) |
FIXED | 数学函数 | 将数字舍入到指定的小数位数,以十进制数格式对该数进行格式设置,并以数字形式返回结果 | 2个,必填 | FIXED(number, decimals) |
SQRT | 数学函数 | 取数值组件值正的平方根 | 1个,必填 | SQRT(number) |
SUM | 数学函数 | 函数使所有以参数形式给出的数字相加并返回和 | 至少1个,必填 | SUM(number1, [number2], ...) |
PRODUCT | 数学函数 | 数字相乘 | 2个,必填 | PRODUCT(number1,number2) |
SUMPRODUCT | 数学函数 | 在给定的数组中,将数组间对应的元素相乘,并返回乘积之和 | 2个,必填 | SUMPRODUCT(array1, array2) |
NUMBERCOMPARE | 数学函数 | 数值组件与数值组件2比较,大于返回1,等于返回0,小于返回-1 | 2个,必填 | NUMBERCOMPARE(数值组件1,数值组件2) |
NOW | 时间函数 | 自此日期起的1970年1月1日,00:00:00 GMT以来的毫秒数。 | 不可填 | NOW() |
INTERSECTIONSET | 集合函数 | 计算两个集合的交集 | 2个,必填 | INTERSECTIONSET(array1,array2) |
UNIONSET | 集合函数 | 计算两个集合的并集 | 2个,必填 | UNIONSET(array1,array2) |
DIFFERENCESET | 集合函数 | 计算两个集合的差集 | 2个,必填 | DIFFERENCESET(array1,array2) |
SUBSET | 集合函数 | 计算第二个集合是否第一个集合的子集 | 2个,必填 | SUBSET(array1,array2) |
ARRAYGET | 集合函数 | 返回数据集中第k个值 | 2个,必填 | ARRAYGET(Array, k) |
LARGE | 集合函数 | 返回数据集中第k个最大值 | 2个,必填 | LARGE(Array, k) |
SMALL | 集合函数 | 返回数据集中第k个最小值 | 2个,必填 | SMALL(Array,k) |
USER | 人员类 | 无参数模式:User() 获取当前登录人; | 1个,选填 | USER() |
有参数模式:User(level) 当前登录人的主管, level 是 获取当前登录人的主管 | USER([level]) | |||
USERFIELD | 人员类 | 人员搜索框需要联动带出一些基本信息 | 2个,必填 | USERFIELD( 成员 ,"userId"),USERFIELD( 成员 ,"name") |
GETUSERNAME | 人员类 | 获取当前登录人昵称 | 不可填 | GETUSERNAME() |
EMPLOYEE | 人员类 | 返回对应的人员信息对象数组(即人员组件底层的值) | 1个,必填 | EMPLOYEE(array1) |
DIRECTOR | 人员类 | 获取当前登陆人的主管名称 | 1个,必填 | DIRECTOR(level) |
LOGINUSER | 人员类 | 登录人 | 不可填 | LOGINUSER() |
LOGINUSERWORKNO | 人员类 | 获取当前登录人员工唯一ID(员工UserID) | 不可填 | LOGINUSERWORKNO() |
DEPTNAME | 部门类 | 获取指定人所在部门名称 | 1个,必填 | DEPTNAME(userId) |
COUNT | 通用类 | 统计指定表单提交的数据总数 | 至少1个,必填 | COUNT("表单ID") |
在函数操作中,基础变量起着至关重要的作用。通过了解基础变量与函数操作之间的关系,我们可以更好地掌握函数的使用,提高代码的质量和可维护性。
规则引擎在线demo:http://rules.bctools.cn
gitee地址:https://gitee.com/software-minister/jvs-rules
规则引擎往期干货
规则引擎(JVS-rules):从应用到场景的全面解析
JVS规则引擎复合变量,实现复杂数据加工的利器
jvs-rules规则引擎 2.1.8 新版本功能清单
jvs-rules 规则引擎功能介绍(一)
jvs-rules 规则引擎功能介绍(二)
jvs-rules 规则引擎功能介绍(三)
jvs-rules 规则引擎功能介绍(四)
相关文章:

【干货】Java函数式编程公式大全,收藏学习!
函数操作是现代编程领域中的核心概念之一,它以类似 Excel 表格的方式进行数据处理和计算。它的特点是使用公式和函数来描述数据之间的关系和计算逻辑;它允许我们以更高效、更有组织的方式管理和处理数据。 在函数式编程中,数据被组织成表格的…...

django基于Python的房价预测系统+爬虫+大屏可视化分析
欢迎大家点赞、收藏、关注、评论 文章目录 前言一、项目介绍二、开发环境三、功能需求分析1 数据采集功能设计2数据管理功能设计3爬虫功能需求分析4 数据可视化功能需求分析数据库表的设计 四、核心代码五、效果图六、文章目录 前言 房价是一个国家经济水平的重要体现ÿ…...

异地组网企业怎么办理手续?
对于那些具有异地分支机构的企业来说,SDWAN(Software Defined Wide Area Network)可以是 提供高性能通信和数据传输的理想解决方案。那么,对于企业来说,SDWAN异地组网需要办理哪 些手续呢?下面将介绍一些关键的办理步骤。 1. 资质准备&…...
Android 13.0 根据包名授予OP_REQUEST_INSTALL_PACKAGES权限
1.概述 在系统13.0的定制化开发中,对于在app中调用安装第三方app的时候,会在这时弹出安装未知来源弹窗,需要默认授予REQUEST_INSTALL_PACKAGES 权限,来安装第三方app的安装未知来源权限,所以就是今天需要解决的这个问题 2.根据包名授予OP_REQUEST_INSTALL_PACKAGES的核心…...
民安智库(湖北知名满意度测评公司)乘客高铁出行调查:从需求到满意
随着科技的飞速发展,高铁已成为我们日常出行的重要选择。然而,什么样的服务才是乘客真正需要的?什么样的调查才能真实反映乘客的感受?民安智库(政务服务第三方评估公司)作为一家中国独立第三方调研咨询的公…...
Oracle的dbms.rls实现数据访问控制
在大部份系统中,权限控制主要定义为模块进入权限的控制和数据列访问权限的控制(如:某某人可以进入某个控制,仓库不充许查看有关部门的字段等等)。 但在某些系统中,权限控制又必须定义到数据行访问权限的控制,此需求一般…...
Python 自定义函数的基本步骤
一、Python 自定义函数的基本步骤 1、什么是函数 函数,其实我们一开始学 Python 的时候就接触过。 不过我们使用的大多数都是 Python 的内置函数。 比如基本每个章节都会出现的 print() 函数。 而现在,我们主要学习的是自定义函数。 各位有没有想过…...

阿里云新品云服务器实例,经济型e实例,价格便宜,性价比高
前不久,阿里云推出了一款全新云服务器实例,他是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,基于“飞天CIPU”黄金技术架构设计,可轻松满足网站建设…...

统信操作系统UOS上安装arm64版nginx
原文链接:统信操作系统UOS上安装arm64版nginx hello,大家好啊,今天给大家带来一篇在统信桌面操作系统UOS上安装arm64版nginx的文章,本篇文章主要是给大家提供一种下载离线nginx软件包的方法,拿到软件包可以去不能链接互…...

2017年高热度编程语言简介
世上语言千千万,我却独爱这一种!”这句话用来形容程序员和编程语言之间的爱恨情仇实在是再精准不过了。根据GitHub 2016年的开源报告,其上所有开源项目共包含了316种编程语言,这是一个什么概念呢?举个例子来说,世界上共有226个国…...

python爬虫入门(一)web基础
HTTP基本要点 HTTP请求,由客户端向服务端发出,可以分为 4 部分内容:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体(…...
利用TreeMap来解决P3029 [USACO11NOV] Cow Lineup S
P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 好了,我们首先要统计奶牛的种类数量n,好与接下来我们记录一个范围内的奶牛的数量作比较,一旦我们统计范围内的奶牛的数量m达到我们刚开始记录的奶牛的数量n我…...

zzy-project-cli,提供多个框架的脚手架
npm地址 install npm install zzy-project-cli -g做什么? 将多个可选的框架提供给使用者选择,选中后自动下载对应模板,快捷使用。 使用 step1 zzy-cli create [项目名称]step2 获取模板之后选取任一进行下载 下载完成之后即可使用 模…...

C++类和对象中(构造函数,析构函数,拷贝构造函数)详解
C类和对象中[构造函数,析构函数,拷贝构造函数]详解 一.前言1.类的6个默认成员函数 二.构造函数1.构造函数的引出2.无参构造函数3.缺省参数在构造函数中的应用4.编译器实现的默认构造函数5.广义的默认构造函数6.默认构造函数的形成规则 三.析构函数1.析构函数的语法2.编译器实现…...

智能矩阵系统解决的问题?
智能矩阵系统可以解决的问题多种多样,它主要通过人工智能技术应用于矩阵系统,解决一些传统方法难以处理的问题。 以下是一些常见的应用场景: 1. 数据管理:智能矩阵系统可以有效地管理大量的数据,包括数据的存储、检索…...

计算机网络——计算机网络体系结构(3/4)-计算机网络体系结构分层思想举例
目录 发送请求报文 应用层构建HTTP请求报文 运输层添加TCP首部 网络层添加IP首部 数据链路层形成帧 物理层转化为比特流 路由器处理 服务器处理 发回响应报文 计算机网络体系结构分层思想举例 假设网络拓扑如下所示,主机属于网络N1,Web服务器属…...

计算机网络,网络(OSI)七层模型,三次握手四次挥手,get与post请求区别,网络IO(BIO\NIO\AIO),TCP与UDP区别
1.OSI模型? 开放式系统互联通信参考模型(Open System Interconnection Reference Model) OSI网络七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP协议群简化了OSI七层模型:应用层、传输层、网络层、数据链路…...

【网络爬虫 | Python】数字货币ok链上bitcoin大额交易实时爬取,存入 mysql 数据库
文章目录 一、网站分析二、js 逆向获取 X-Apikey三、python 调用 js 获取 X-Apikey四、python 爬虫部分五、mysql 数据库、日志、配置文件、目录结构六、结尾 一、网站分析 oklink:https://www.oklink.com/ btc 大额交易:https://www.oklink.com/btc/tx-…...

【Servlet】实现Servlet程序
文章目录 1. 最朴素方式1. 创建项目2. 引入依赖3. 创建目录4. 编写代码5. 打包程序6. 部署程序7. 验证程序 2. 更方便方式1. 安装Smart TomCat插件2. 启动 1. 最朴素方式 1. 创建项目 选择Maven项目 2. 引入依赖 Maven项目创建完后会生成一个pom.xml文件,我们可…...

binlog 和 redolog 有什么区别
binlog 和 redolog 都是 Mysql 里面用来记录数据库数据变更操作的日志. binlog 其中 binlog 主要用来做数据备份、数据恢复和数据同步,在Mysql 的主从数据同步的场景中,master 节点的数据变更,会写入到 binlog 中,然后再把 binl…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...