happytc 发表于 2011-2-2 13:26:09

怎么把数组参数设为可选参数?

数组参数可以设为可选


Global $arr, $brr
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

netegg 发表于 2011-2-2 13:43:53

说实话这个问题有点没事找事,数组参数不知道是不是指的元素个数,用redim可以解决,如果不是,比如二维,三维,抱歉,似乎哪种语言都没这功能

_ddqs. 发表于 2011-2-2 14:17:15

指定为核心函数并预付值
就可以省略参数
!

_ddqs. 发表于 2011-2-2 14:27:26

MsgBox(0, 0, _test())



#Region 省略参数测试

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

#EndRegion

Hen5ei 发表于 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

netegg 发表于 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

Hen5ei 发表于 2011-2-4 18:05:29

回复Hen5ei
有点画蛇添足,直接下面这样就行了
netegg 发表于 2011-2-4 03:16 http://www.autoitx.com/images/common/back.gif


    一样一样...嘿嘿
页: [1]
查看完整版本: 怎么把数组参数设为可选参数?