按键精灵ios脚本封装函数--function , sub 函数的使用在脚本编写中非常频繁, 可以通过函数编写的好坏来鉴定一个脚本的效率. 这篇教程就给大家介绍下函数的封装,以及调用函数的方法
用于封装的命令主要有两个: Function 和 Sub
两个命令的功能基本上相同, 只是Function 除了包含Sub的功能外,还可以额外的附带函数返回值, 所以基本上在实际应用中更多的会选择使用Function 命令封装函数.
封装函数的功能就相当于把一段需要重复使用的代码, 装在一个盒子里, 在其他地方需要使用这段代码的时候, 就把这个盒子里的代码拿出来用. 这样就可以避免了一段代码重复的编写.可以缩短代码的长度. 并且适当的时候调用函数可以让代码整体看上去非常的简洁明了.
就和宠物小精灵一样~~平时放在精灵球里,需要的时候再把精灵球一丢~~~~~
命令名称
Function
命令功能
定义、封装一个函数
命令参数
函数名:任意有效标识符。
执行语句:任意有效代码语句。
自定义参数:可选参数,允许多个,任意有效标识符
返回值
可选,自定义返回值
在封装和使用函数时需要注意几点
1、函数中不能直接再次封装函数
2、使用Call调用函数的时候,不管函数是否有参数,都需要加上括号
3、可以直接使用函数名称来调用函数,直接使用名称调用函数的时候可以不加括号
4、要返回值的函数必须要在函数名后加上括号
5、函数返回值只有在函数结束退出时才会返回
简单的范例:
Call 加法计算(1,5)
Function 加法计算(v, v1)
TracePrint v+v1
End Function
复制代码这段代码就是很简单的一个能够用来计算两个参数之和的函数。用function 把代码封装起来之后, 可以使用call + 函数名 来调用这个函数。
上面的这段范例是不带返回值的函数, 那下面就再说下函数返回值。
什么是函数返回值?
简单的说就是当调用这个函数之后,函数在结束后本身会返回一个值给你。返回的可以是一个字符串或者整数型数据甚至可以是数组。你可以使用这个返回值进行下一步操作。
带返回值的函数:
TracePrint "1+5=" & 加法计算(1,5)
Function 加法计算(v, v1)
加法计算 = v+v1
End Function
复制代码上面代码就是附带函数返回值的用法,函数中把参数v和参数v1两个相加的值作为函数的返回值。
赋值返回值的时候也很简单,只要把函数的名称当成是变量名来用就行了。
命令名称
Sub
命令功能
定义、封装一个子程序
命令参数
子程序名:任意有效标识符
执行语句:任意有效代码语句
自定义参数:可选参数,允许多个,任意有效标识符
返回值
无
sub的用法和Function一致。唯一的区别就是sub函数不能有返回值。只能直接被调用。
Call 加法计算(1,5)
Sub 加法计算(v, v1)
TracePrint v+v1
End Sub
复制代码
什么情况下我们需要把代码封装成函数进行调用呢?
1、需要重复调用的代码
2、独立的功能模块
把需要重复调用的代码封装起来,这样可以极大的减少了代码行数,并且在使用的时候方便。比如我们时常会遇到需要滑屏的操作,需要使用touchdown命令来进行滑屏,但是一整套命令写下来太麻烦了,如果每次滑屏都需要好几行代码来实现,那就太累了。这种情况我们就可以把这滑屏的功能封装成函数,之后只要调用函数就可以实现滑屏。
Function SwipeEx(x, y, x1, y1, t)
TouchDown x, y, 1
TouchMove x1, y1, 1, t
Delay 300
TouchUp 1
End Function
//用1000毫秒的时间从200, 100滑动到500, 100
Call SwipeEx(200, 100, 500, 100, 1000)
//用2000毫秒的时间从100, 562滑动到966,582
Call SwipeEx(100, 562, 966, 582, 2000)
复制代码这样就可以大大的缩短代码长度
把独立的功能模块封装成函数进行调用,这样做的最大的好处就是可以让代码看上去简洁有序,提升代码的可读性和逻辑结构稳定性,同时也方便了之后代码的后期维护。
我们来用两端同样功能的代码对比下
Tap 520, 663
Delay 500
InputText 账号
Delay 1000
Tap 200, 600
InputText 密码
Delay 3000
Tap 500, 900
Tap 486, 695
Delay 3000
Do
Tap 500, 980
Delay 1000
Loop
复制代码
Call 输入账号(账号, 密码)
Delay 1000
Call 登录()
Call 执行任务()
Function 输入账号(账号,密码)
Tap 520, 663
Delay 500
InputText 账号
Delay 1000
Tap 200, 600
InputText 密码
End Function
Function 登录
Tap 500, 900
Delay 5000
End Function
Function 执行任务
Tap 486, 695
Delay 3000
Do
Tap 500, 980
Delay 1000
Loop
End Function
大家对比下这两端代码,哪段看着更易懂?上面的代码把所有功能步骤全部写在一起,如果不加注释的话很可能过段时间自己都忘了哪部分是什么功能了(并且不加注释是新手很容易犯的小错误)。而第二段代码,把每个单独的部分封装成函数,代码主体只需要分别调用这些函数就够了,简单明确。后期也好维护,哪段有问题就改哪段,不用动其他的部分。
探索按键精灵的多样自动化脚本选择,包括iOS越狱版和免越狱版,涵盖了iOS和安卓系统的脚本,正在适配最新的iOS 15和iOS 16系统版本。同时,鹰眼软件提供手机群控、微信群控、游戏群控、手机投屏、手机云控以及电脑远程控制手机功能,为您的操作体验增添更多的趣味与便利!
-----------------------------------