自定义函数的参数,能不能直接输入数组而不是变量?[已解决]
本帖最后由 fenhanxue 于 2013-11-26 19:30 编辑例如:
我知道正常情况下,这样写,是可以的:#include <Array.au3>
Dim $a =
anyfunc($a)
Func anyfunc($x)
_ArrayDisplay($x)
EndFunc
那么,我想这样写,貌似会提示出错:#include <Array.au3>
anyfunc()
Func anyfunc($x)
_ArrayDisplay($x)
EndFunc
不知道是为什么?为什么会出错,应该怎么改?
因为在实际代码里,anyfunc()这个函数使用频率比较频繁,$x为一个组数,就想着能不能调用anyfunc()的时候,直接在()里面输入数组,却律师不行哇 例如:
我知道正常情况下,这样写,是可以的:那么,我想这样写,貌似会提示出错:不知道是为什么?
...
fenhanxue 发表于 2013-11-26 16:12 http://www.autoitx.com/images/common/back.gif
我也不太懂 你是不是要这样的?#include <Array.au3>
$avArray1=_arr()
MsgBox(0,0,$avArray1)
Func _arr()
Local $avArray = [ _
, _
, _
, _
, _
]
Return($avArray)
endfunc
例如:
我知道正常情况下,这样写,是可以的:那么,我想这样写,貌似会提示出错:不知道是为什么?
...
fenhanxue 发表于 2013-11-26 16:12 http://www.autoitx.com/images/common/back.gif
要不就是这样?#include <Array.au3>
Local $avArray
$avArray = "JPM"
$avArray = "Holger"
$avArray = "Jon"
$avArray = "Larry"
$avArray = "Jeremy"
$avArray = "Valik"
$avArray = "Cyberslug"
$avArray = "Nutster"
$avArray = "JdeB"
$avArray = "Tylo"
_cc($avArray,"啊啊啊啊啊啊")
Func _cc($x,$y)
_ArrayAdd($x,$y)
_ArrayDisplay($x, "$avArray 添加后的数据 _ArrayAdd()")
endfunc 回复 3# iori2882
就是,我想不用先定义数组,再使用函数,
而是想直接使用函数,在函数的参数里直接输入数组
也就是:;;;;;;;;;;;;;(一)对于不是数组的变量,我可以这样写
anyfunc("我不需要提前,直接在这里输入具体的参数,就会显示") ;
Func anyfunc($x)
MsgBox(0,"",$x)
EndFunc
;;;;;;;;;;;;;(二)而对于是数组的变量,貌似我直接输入会提示出错,例如:
#include <Array.au3>
anyfunc();这样在anyfunc 后面,直接输入会提示出错
Func anyfunc($x)
_ArrayDisplay($x)
EndFunc
;;;;;;;;;;;;;(三)必须这样改才不会提示出错
#include <Array.au3>
din $a =
anyfunc($a);先把传给一个变量,例如$a,再把$a 填到 anyfunc 里,才会正常运行
Func anyfunc($x)
_ArrayDisplay($x)
EndFunc 回复 4# fenhanxue
自定义函数就是干这事的,你需要自己在函数内部处理需要的动作 按需自行处理#include <Array.au3>
Dim $a =
anyfunc($a)
anyfunc('00a,222,33')
Func anyfunc($x, $sFg = ',')
If IsArray($x) Then
_ArrayDisplay($x)
Return
EndIf
Local $a = StringSplit($x, $sFg, 3)
_ArrayDisplay($a)
EndFunc ;==>anyfunc 回复 6# afan
3x 额,非常感谢,回复赚银子 anyfunc();这样在anyfunc 后面,直接输入会提示出错
这个显然不靠谱 学习一下,自己还需要多练习。
页:
[1]