找回密码
 加入
搜索
查看: 2140|回复: 6

[AU3基础] 怎么把数组参数设为可选参数?

  [复制链接]
发表于 2011-2-2 13:26:09 | 显示全部楼层 |阅读模式
数组参数可以设为可选


Global $arr[3], $brr[3]
Local $v = 2

FunA($arr, $brr)                            ;1)<---怎么这里也可象FunA($arr)这样子
MsgBox(0,0,FunB($v))                   ;2)<---FunB函数只调用了一个参数

Func FunA(ByRef $ar, ByRef $br)   ;3)<---这里应该如何设才可以达到1)的目的??
        For $i =0 To 2
                $ar[$i] = $i
                $br[$i] = $i * 2
        Next
EndFunc

Func FunB($val, $var=0)
        Return $val * 2
EndFunc
发表于 2011-2-2 13:43:53 | 显示全部楼层
说实话这个问题有点没事找事,数组参数不知道是不是指的元素个数,用redim可以解决,如果不是,比如二维,三维,抱歉,似乎哪种语言都没这功能
发表于 2011-2-2 14:17:15 | 显示全部楼层
指定为核心函数并预付值
就可以省略参数
!
发表于 2011-2-2 14:27:26 | 显示全部楼层
MsgBox(0, 0, _test())



#Region 省略参数测试

Func _test($a=1, $b=0 ) 
        Return $a
EndFunc

#EndRegion
发表于 2011-2-3 22:04:44 | 显示全部楼层
MsgBox(0,0,_Test("这只是测试"))
Func _Test($lpFirst ,$hNext = Default)
        If $lpFirst = "" Then
                Return SetError(101)
        EndIf
        If $hNext = Default Then $hNext = "第二个参数设置为默认"
        Return $lpFirst & @CRLF & $hNext
EndFunc
发表于 2011-2-4 03:16:32 | 显示全部楼层
回复 5# Hen5ei
有点画蛇添足,直接下面这样就行了
MsgBox(0,0,_Test("这只是测试"))
Func _Test($lpFirst ,$hNext = "第二个参数设置为默认")
        If $lpFirst = "" Then
                Return SetError(101)
        EndIf
        Return $lpFirst & @CRLF & $hNext
EndFunc
发表于 2011-2-4 18:05:29 | 显示全部楼层
回复  Hen5ei
有点画蛇添足,直接下面这样就行了
netegg 发表于 2011-2-4 03:16



    一样一样...嘿嘿
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-21 12:27 , Processed in 0.084895 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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