编码:小案例浅析信息的解构与重构

简道云应用场景探索者

在之前的零代码引路人第四期直播( https://edu.fanruan.com/video/207 )中提到过:想要更灵活的使用云函数,子表单是关键,子表单承接着大部分的信息解构与重构。

 

子表单的一大特性是可以伪造成一个200次及以内的循环语句,除此之外,在纯粹的简道云环境中暂无其它实现循环语句的方式,当然如果非要抬杠,理论上是可以写上一个超长的公式来实现类似功能。

 

下面通过一个案例来看一下:

案例:文本+数字的拆分

链接:https://bbs.fanruan.com/thread-136322-1-1.html

 

 

问题描述:在进销存等场景内,用户会在单行文本扫码录入产品信息,扫码结果是文本+数字,文本是产品的名称,数字是产品的型号,需要扫码录入后,自动把文本+数字拆分成2个字段,分别记录文本数字。

已知条件:单行文本的内容为文本+数字,文本长度不固定,数字长度不固定。比如单行文本内容为“平车001”或者“工铲2146”。

需要实现:把文本+数字拆分到2个文本字段内,分别显示文本和数字。比如分别拆分成:字段1内容为”平车“,字段2内容为“001”。

 

在这个案例中作者通过一个较长的IF()语句对问题给予了解决,那么有没有其它的解决思路呢?

 

思路一:通过子表单

 

假设产品信息的总长度不超过200,那么可以通子表单的方式予以解决。

 

1、获取“产品信息”长度

2、建立相同应行数的子表单

3、将“产品信息”的字符依次放入子表单每行的“信息”字段

4、判断“信息”的类别,比如字母、数字、符号,打上标识或提取

5、按需重组子表单的信息即可。

 

实现效果:

https://tnvew1vqtq.jiandaoyun.com/f/610d7542e791b2000850f1e7

 

 

思路二:由重构到解构

 

通过在原信息的头部或尾部,加入固定性内容实现信息重构,进而辅助信息的解构。

 

1、在尾部加入“0123456789”,实现信息重构

2、通过SPLIT()、UNION()等函数,获取第一个数字的位置

3、根据数字的位置,分别获取文本与数字内容

 

实现效果:

https://tnvew1vqtq.jiandaoyun.com/f/6106b64a66afb500079a08ab

 

 

 

信息解构与重构的本质是在信息中去寻找规律或创造规律,让原本看似无规律的信息变得有规律可循,常见的方式有符号与位数。比如,子表单自动按行编号(https://hc.jiandaoyun.com/blog/10792),用到的就是位数;比如,单表单中多个子表单数据互通,大量需要用到的就是符号。

 

编码在云函数中的应用

 

在试卷随机选项(https://bbs.fanruan.com/thread-135586-1-1.html)这个场景中,需要将原选项与答案进行重构及打包,然后以参数的形式传递至云函数处理。

 

 

通过上图可以发现这里用到了两组符号“^^^”与“###”,其中,“^^^”的作用是为了区隔开各子项,“###”的作用是为了区隔开各试题,最后分别打包到一个文本字段里做为云函数的参数。

 

也需有人好奇为什么要用三个连续的、相同的字符进行区隔,用一个不就行了吗?其实,行,也不行,这样做的目的是为了防范,在实际应用中选项本身也包含这个的字符,而三个连续,除了特殊情况外,遇到的概率就会极低。

 

 

本篇内容,大体就是如此了,相要灵活使用云函数,之所以说子表单是关键,是因为掌握了子表单,才能更好的完成信息的解构与重构。

 

更多内容

 

导航:云函数&前端事件 内容集 

 

更多沟通交流可添加微信(zmlnow)

添加时请备注:简道云

 

 

 

 

都看到这里了

如果您觉得有用

赞一个呗

赏一个呗

偶会更有动力哈

 

编辑于 2021-8-8 16:06

发表于 2021-8-8 19:07:53 发布于APP客户端
学习了张总
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 1关注人数 4259浏览人数
最后回复于:2022-3-1 11:43

返回顶部 返回列表