【已解决】函数入参包含数组的情况如何处理
本帖最后由 xiehuahere 于 2011-8-23 20:24 编辑譬如,我自定义一个函数:
FtpPutFile($HostIP, $SrcFilePath, $DesFilePath)
要支持传输一个文件和多个文件的情况,即需要函数入参 $SrcFilePath, $DesFilePath 使用数组形式,如何处理呢?
基础问题,请知道的不吝赐教。。。
我是思路是这样的:
先用 IsArray 判断参数是否是数组。
如果不是,就按一个文件的情况来处理;如果是,就循环调用 _FTP_FilePut() 来处理。
不知道是否正确。 你为什么不先试一下呢????
统一形式更好,直接传数组。若只有一个,就放在$SrcFilePath里,然后用
for $i=0 to UBound($SrcFilePath) - 1
;......
next 回复 2# happytc
谢谢!
提问的时候还没有思路,思路是后补充上去的,来自于:
http://www.autoitx.com/forum.php?mod=viewthread&tid=16709&highlight=%BA%AF%CA%FD%2B%CA%FD%D7%E9
三楼
但我还是觉得只有一个 $SrcFilePath 比较丑陋。判断一下,调用的时候可以更灵活。
见仁见智吧~~ 本帖最后由 xiehuahere 于 2011-8-23 19:32 编辑
先别走,关于数组,请教如下一个问题:
Const $fileArray = ['test1.txt', 'test2.txt']
$srcFilePath = [ @ScriptDir & '\' & $fileArray, @ScriptDir & '\' & $fileArray ]
$srcFilePath 这样定义会报语法错误,不能在[ ] 里面使用变量。
只能这样一个个地赋值,或者用循环(也是分别赋值的)??
Dim $srcFilePath
$srcFilePath = @ScriptDir & '\' & $fileArray
$srcFilePath = @ScriptDir & '\' & $fileArray 先别走,关于数组,请教如下一个问题:
$srcFilePath 这样定义会报语法错误,不能在[ ] 里面使用变量。 ...
xiehuahere 发表于 2011-8-23 19:30 http://www.autoitx.com/images/common/back.gif
你搞笑了,你定义了Const了,又去赋值?那又何必Const呢?
Local $srcFilePath = [ @ScriptDir & '\' & $fileArray, @ScriptDir & '\' & $fileArray ] 本帖最后由 xiehuahere 于 2011-8-23 19:48 编辑
回复 5# happytc
你的的确可以。
我明白了,不是Const的问题,是要在 $srcFilePath 前面加上 Local 或 Global 或 Dim 这些关键字这样才能定义数组。Const $fileArray = [ 'FwuVersCtrl.txt', 'FwuDownCtrl.txt' ]
Global $srcFilePath = [ @ScriptDir & '\' & $fileArray, @ScriptDir & '\' & $fileArray ]关键是这个,呵呵。对吧?
页:
[1]