找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5201|回复: 0

[教程源码] 错误解决方法: 参数个数不匹配。

[复制链接]
  • 打卡等级:寻得绝学

1082

主题

2114

回帖

4298

积分

院长

鲜花
7
猫粮
6418
QQ
发表于 2019-10-22 10:02:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在调试代码时候,遇到报错:参数个数不匹配,这是新手最容易犯的一个错误,比如下面代码就是典型的参数个数不匹配几种例子
[按键精灵] 纯文本查看 复制代码
Tap 100  //错误原因:参数少了一个。

Tap 100,200  //错误原因:中文标点符号不能做参数分隔符。

Tap 100,200,300,400  //错误原因:参数多了两个。

Dim xy
xy = "100,200"
Tap xy    //错误原因:xy是一个字符串数据,并非两个参数。

Dim arr
arr = Array(100, 200)
Tap arr  //错误原因:arr是一个数组,并非两个参数

Dim t
t = {100, 200}
Tap t  //错误原因:t是一个table表,并非两个参数



首先理解什么是参数,参数是传入命令里面的数据,比如说“拿两个苹果”,“拿”是动作命令,“两个”是第一个参数,“苹果”是第二个参数。代码命令也是一样的,比如Tap()点击命令,两个参数分别是横坐标与纵坐标。

接着来看“个数不匹配”,从字面上意思理解就是参数的数量不对。还是用“拿两个苹果”举例子,如果少了第一个参数,就不知道几个苹果,如果少了第二个参数,就不知道拿什么东西。两个参数缺一不可。Tap()点击命令也一样,少一个参数就不知道具体要点击哪个位置。


最后来理解代码参数要怎么写,在代码中,每一个参数之间是用英文逗号隔开的,大部分命令都规定了每一个参数的意义,不能擅自理所当然的修改参数意义。例如Tap()命令第一个参数是横坐标,你不能擅自传入一个字符串"x,y"作为第一个参数,说已经把坐标放进去了。

下面是正确的代码例子
[按键精灵] 纯文本查看 复制代码
Tap 100, 200  //补上缺少的参数。

Tap 100,200  //把中文逗号换成英文逗号

Tap 100,200  //删除多余的参数

Dim xy
xy = "100,200"
Dim xyArr
xyArr = Split(xy, ",")
Tap CLng(xyArr(0)), CLng(xyArr(1))  //分割字符串内容作为参数传入,当然也可以用紫猫插件的zm.tap来解决

Dim arr
arr = Array(100, 200)
Tap arr(0), arr(1)  //传入数组两个元素做参数

Dim t
t = {100, 200}
Tap t[1], t[2]  //传入table表两个元素做参数


楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-5-17 18:29

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表