• 【干货】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 规则引擎功能介绍(四)

  • 相关阅读:
    Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
    Windows内核--HAL在抽象什么?(3.4)
    【PCL】教程global_hypothesis_verification 通过验证模型假设来实现 3D 对象识别与位姿估计...
    SpringBoot配置文件
    51单片机定时炸弹-准确计时-两根线随机一根触发中断可“拆弹“(AT89C52)
    高考志愿系统-信息管理模块:院校信息分析
    自定义Mybatis-plus插件(限制最大查询数量)
    387.字符串中的第一个唯一字符
    洛谷 P5357 【模板】AC 自动机(二次加强版)(AC自动机,fail树)
    干洗店洗鞋店管理系统app小程序;
  • 原文地址:https://blog.csdn.net/jonyleek/article/details/133986671