欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān) 鍵 字 參 考


Func...Return...EndFunc

定義用戶自定義函數(shù),接受 0 或多個參數(shù).可以選擇返回的結(jié)果.

Func 函數(shù)名稱 ( [常量] [ByRef] 參數(shù)1, ..., [常量] [ByRef] 參數(shù)N, $可選參數(shù)1 = 值, ...)
    ...
    [Return []]
EndFunc

參 數(shù)

可以隨意設(shè)置參數(shù). 以后象調(diào)用內(nèi)置函數(shù)一樣調(diào)用它們.

備 注

關(guān)鍵字[常量]是可選的, 表明在函數(shù)執(zhí)行期間參數(shù)值不會改變.
變量申明為[常量]時, 則只能傳遞給使用這個常量的函數(shù).

關(guān)鍵字 [ByRef] 表明參數(shù)應(yīng)視為參照原對象.
默認復(fù)制參數(shù)到一個新的變量, ByRef 鏈接新變量到原始參數(shù).
當(dāng)函數(shù)需要大量數(shù)據(jù)(如大型數(shù)組)時, 復(fù)制數(shù)據(jù)將存在重大的性能損失, 此時通常首選 ByRef.
請注意, 不僅命名的變量可作為參數(shù)傳遞給 ByRef; 無名的臨時變量,
例如函數(shù)返回值, 也可以作為參數(shù)傳遞給 ByRef. 文字不能作為參數(shù)傳遞到 ByRef.

如果同時使用關(guān)鍵字 [ByRef] 和 [常量], 關(guān)鍵字的順序并不重要, 只要都在它們修改的變量前面即可.

整個數(shù)組可以傳遞給函數(shù)(并返回它們), 只需使用沒有任何括號的數(shù)組名稱即可.


指定一個默認值來定義" 可選參數(shù) ". 該值可以是全局變量, 宏指令或文字值.
可選參數(shù)總是出現(xiàn)在函數(shù)定義的最后. 第一個可選參數(shù)后面添加的所有參數(shù)也必須是可選的.
當(dāng)函數(shù)被調(diào)用時, 給定參數(shù)的數(shù)量能被 @NUMPARAMS 宏指令檢索(見示例 2).

使用 Return 關(guān)鍵字退出函數(shù). 與內(nèi)置函數(shù)不同, 除非另外指定一個返回值, 否則用戶定義函數(shù)返回 0.

請注意, 函數(shù)聲明不能出現(xiàn)在其它函數(shù)聲明內(nèi).

相 關(guān) 函 數(shù)

Dim/Global/Local, #include, Const

函 數(shù) 示 例


Example1()
Example2()

; 示例 1
Func Example1()
    ; 三個用戶定義函數(shù)的示例腳本
    ; 注意變量 ByRef 的使用, 并返回

    Local $foo = 2
    Local $bar = 5
    MsgBox(0, "今天是 " & today(), "變量 $foo 等于 " & $foo)
    swap($foo, $bar)
    MsgBox(0, "變量 $foo 與 $bar 交換后", "變量 $foo 現(xiàn)在等于 " & $foo)
    MsgBox(0, "最后", "3 與 4 的較大數(shù)是 " & max(3, 4))
EndFunc   ;==>Example1

Func swap(ByRef $a, ByRef $b) ;交換兩個變量的值
    Local $t
    $t = $a
    $a = $b
    $b = $t
EndFunc   ;==>swap

Func today() ;返回當(dāng)前日期的 mm/dd/yyyy 格式
    return (@MON & "/" & @MDAY & "/" & @YEAR)
EndFunc   ;==>today

Func max($x, $y) ;返回兩個數(shù)字的較大值
    If $x > $y Then
        Return $x
    Else
        Return $y
    EndIf
EndFunc   ;==>max

;示例腳本 1 結(jié)束

; 示例 2
Func Example2()
    ; 演示宏 @NumParams
    Test_Numparams(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
EndFunc   ;==>Example2

Func Test_Numparams($v1 = 0, $v2 = 0, $v3 = 0, $v4 = 0, $v5 = 0, $v6 = 0, $v7 = 0, $v8 = 0, $v9 = 0, _
        $v10 = 0, $v11 = 0, $v12 = 0, $v13 = 0, $v14 = 0, $v15 = 0, $v16 = 0, $v17 = 0, $v18 = 0, $v19 = 0)
    #forceref $v1, $v2, $v3, $v4, $v5, $v6, $v7, $v8, $v9, $v10, $v11, $v12, $v13, $v14, $v15, $v16, $v17, $v18, $v19
    Local $val
    For $i = 1 To @NumParams
        $val &= Eval("v" & $i) & " "
    Next
    MsgBox(0, "@NumParams 示例", "@NumParams =" & @NumParams & @CRLF & @CRLF & $val)
EndFunc   ;==>Test_Numparams

;示例腳本 2 結(jié)束

provider with jb51.net (unicode)