百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

「按键精灵 VS 易语言」数组操作 按键精灵和易语言哪个容易过检测

yuyutoo 2024-10-23 16:35 7 浏览 0 评论

今天和大家一起分享按键精灵和易语言分别在数组使用方面的种种区别和注意事项!

要求 : 定义一个文本型的变量, 把这个字符串中的每一个字符取出来放到数组内,然后删除这个数组指定的下标,形成一个新数组!


分析: 如果单以是为了完成这道题目作为出发点来看,我会选择使用易语言来完成,原因很简单.核心库(数组操作)里有直接封装好的命令供我们使用,简单方便. 如果以学习的角度作为出发点,那就要选择使用按键精灵了,原因同样简单,因为按键精灵没有提供相关的命令.我们能做的只有写一个函数出来解决问题.

所有源码均可在群内下载: 群号 31690552


下边我们开始第一步:把字符串内的每一个字符取出来放到数组内

按键精灵代码 如下图:

定义一个文本型的变量a,分别使用len函数和mid函数来获取这个字符串内的每一个字符,然后保存到arr数组内,这里需要说明的是,如果是在循环内定义这个动态数组的话,一定记得使用 preserve 来保护一下这个数组之前赋的值,.如果不保护,那么很遗憾,之前所有赋的值都是空值. 如下图所示:

当然,我们也可以直接在循环外定义这个数组,那么也就无须保护了,如下图所示:


下边我们来写在易语言中的这一步代码:

为了保持2者的可对比性,我这里都使用了同样的变量名, 这个时候易语言在数组操作方面的便捷性已经初露锋芒. 在按键精灵中,我们实现这一步用的是给数组内的元素赋值的方法来实现. 如果你想要增加数组元素,那么我们要重新定义数组的下标长度才可以,而易语言这时候就不需要了, 我们只需初始化数组的时候,把数组定义为动态数组,下标为0即可,

然后通过加入成员这条命令,数据将自动加入到数组的尾部,并通过重新自动自定义数组来增加数组的下标!

这里使用了到全角的这条命令. 这是因为在易语言中封装的Len函数和在按键精灵中封装的Len函数细微差别所致.当然我们都知道,一个汉字占2个长度. 可是在按键精灵中做了处理,每位字符都只占一个长度.这样就不用在考虑其他的因素了,个人感觉这一点比较爽.

当然,如果你一定要用类似按键精灵中给元素赋值的方法来实现, 我也无话可说,毕竟条条道路都通罗马.只要能实现就好.

下图为通向罗马的另一条路:

所有源码均可在群内下载: 群号 31690552

通过调试可以得出,这条道路同样通向罗马城. 至于大家走哪条路,完全凭个人喜欢而定.这里不做评价


紧接着我们到了第二步 . 删除数组指定下标形成一个新数组:

首先已按键精灵为例.因为在按键精灵中没有直接删除数组指定下标的命令,我们还需要自己写函数,所以这里就先以按键为先了哦. (排名不分先后)

直接上代码图.然后具体分析:

我们先不看其它.先看上图数字所指几处.第1处,function 说明它是一个函数,既然是函数,那么它一定会有返回值,当然,也不是一定要有返回值. 如果你写的函数没有返回值,那么我建议你还是用sub替代的好,(这里不多做解释) ,既然有返回值,那么第一反应就是去看第3处所指向的代码 . 从代码可以看出,这个函数存在2种返回结果. 返回的都是数组 . 回过头来看第2处. 我们可以知道这个函数有2个参数,第1个传的是数组. 第2个传的是整数型的数组下标. 建议大家查看函数的时候先看这3点,然后在具体查看其中代码哦!


进入函数内部代码区:

首先判断了一下传入要删除这个数组的下标是否在范围内.如果不在范围内,直接返回了这个原数组, 也就是上图代码第19行所示!

如果传入的第2个参数符合条件的话,这里定义了一个乱码组成的文本变量 . 并且把变量值赋给了我们要删除的数组元素, 通过join函数把这个数组合并成一个字符串,然后我们在进入处理.

如下图所示:

由上图中可以得出如下信息:

在第6行调用了这个函数,传入了2个参数,第一个为数组arr ,第二个为要删除的数组下标,我这里传入的是下标2. 第13行的调试结果如红框所示.已经把下标为2的数组元素替换成了指定的内容.

这时候我们在来看一下这个函数代码图:

如下图:

上图红框所示区域内,通过了使用replace替换函数, left ,right 等函数 ,把这个字符串做了处理, 如果不做如上处理,将会出现以下3种情况, 如果所示:

通过对这个字符串的处理,把前后中间多余的"-"符号去掉,这时候就已经可以对这个字符串进行分割处理,使之生成一个新数组,然后返回给这个函数了!

最后来看一下效果 :

大家是不是感觉有点小麻烦, 那下边我们来看一下不麻烦的哦


易语言中实现这一步的代码图:

(这里需要说一下的是:按键精灵中数组下标是从0开始,易语言中的数组下标是从1开始)

感谢:白小丁同学

相关推荐

ETCD 故障恢复(etc常见故障)

概述Kubernetes集群外部ETCD节点故障,导致kube-apiserver无法启动。...

在Ubuntu 16.04 LTS服务器上安装FreeRADIUS和Daloradius的方法

FreeRADIUS为AAARadiusLinux下开源解决方案,DaloRadius为图形化web管理工具。...

如何排查服务器被黑客入侵的迹象(黑客 抓取服务器数据)

---排查服务器是否被黑客入侵需要系统性地检查多个关键点,以下是一份详细的排查指南,包含具体命令、工具和应对策略:---###**一、快速初步检查**####1.**检查异常登录记录**...

使用 Fail Ban 日志分析 SSH 攻击行为

通过分析`fail2ban`日志可以识别和应对SSH暴力破解等攻击行为。以下是详细的操作流程和关键分析方法:---###**一、Fail2ban日志位置**Fail2ban的日志路径因系统配置...

《5 个实用技巧,提升你的服务器安全性,避免被黑客盯上!》

服务器的安全性至关重要,特别是在如今网络攻击频繁的情况下。如果你的服务器存在漏洞,黑客可能会利用这些漏洞进行攻击,甚至窃取数据。今天我们就来聊聊5个实用技巧,帮助你提升服务器的安全性,让你的系统更...

聊聊Spring AI Alibaba的YuQueDocumentReader

序本文主要研究一下SpringAIAlibaba的YuQueDocumentReaderYuQueDocumentReader...

Mac Docker环境,利用Canal实现MySQL同步ES

Canal的使用使用docker环境安装mysql、canal、elasticsearch,基于binlog利用canal实现mysql的数据同步到elasticsearch中,并在springboo...

RustDesk:开源远程控制工具的技术架构与全场景部署实战

一、开源远程控制领域的革新者1.1行业痛点与解决方案...

长安汽车一代CS75Plus2020款安装高德地图7.5

不用破解原车机,一代CS75Plus2020款,安装车机版高德地图7.5,有红绿灯读秒!废话不多讲,安装步骤如下:一、在拨号状态输入:在电话拨号界面,输入:*#518200#*(进入安卓设置界面,...

Zookeeper使用详解之常见操作篇(zookeeper ui)

一、Zookeeper的数据结构对于ZooKeeper而言,其存储结构类似于文件系统,也是一个树形目录服务,并通过Key-Value键值对的形式进行数据存储。其中,Key由斜线间隔的路径元素构成。对...

zk源码—4.会话的实现原理一(会话层的基本功能是什么)

大纲1.创建会话...

Zookeeper 可观测性最佳实践(zookeeper能够确保)

Zookeeper介绍ZooKeeper是一个开源的分布式协调服务,用于管理和协调分布式系统中的节点。它提供了一种高效、可靠的方式来解决分布式系统中的常见问题,如数据同步、配置管理、命名服务和集群...

服务器密码错误被锁定怎么解决(服务器密码错几次锁)

#服务器密码错误被锁定解决方案当服务器因多次密码错误导致账户被锁定时,可以按照以下步骤进行排查和解决:##一、确认锁定状态###1.检查账户锁定状态(Linux)```bash#查看账户锁定...

zk基础—4.zk实现分布式功能(分布式zk的使用)

大纲1.zk实现数据发布订阅...

《死神魂魄觉醒》卡死问题终极解决方案:从原理到实战的深度解析

在《死神魂魄觉醒》的斩魄刀交锋中,游戏卡死犹如突现的虚圈屏障,阻断玩家与尸魂界的连接。本文将从技术架构、解决方案、预防策略三个维度,深度剖析卡死问题的成因与应对之策,助力玩家突破次元壁障,畅享灵魂共鸣...

取消回复欢迎 发表评论: