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

警告: 這是一個(gè)實(shí)驗(yàn)性函數(shù). 它可能無(wú)法工作, 也可能含有 BUG 或可能會(huì)修改, 如以后刪除時(shí)不會(huì)另行通知.

不要報(bào)告錯(cuò)誤或請(qǐng)求此函數(shù)的新功能.

使用時(shí)請(qǐng)自行承擔(dān)風(fēng)險(xiǎn).

關(guān) 鍵 字 參 考


Static

定義靜態(tài)變量或靜態(tài)數(shù)組.

Static [作用域] 變量 [ = 初值 ]
Static [作用域] 數(shù)組[索引 1]...[索引 n] [ = 初值 ]

參 數(shù)

作用域 可選修飾符, 指定變量的作用范圍: LocalGlobal.
變量 靜態(tài)變量的名稱(chēng).
初值 分配給變量的初始值. 可以是函數(shù)調(diào)用的數(shù)學(xué)或字符串運(yùn)算. 此值僅在變量第一次聲明時(shí)計(jì)算.
索引 數(shù)組維數(shù)的元素?cái)?shù)量, 索引為 0 到 n-1.

備 注

關(guān)鍵字"Static"可以出現(xiàn)在可選參數(shù)"作用域"之前或以后, 例如: Local StaticStatic Local 都是允許的.

如果指定"作用域" 參數(shù)為 Local, 則靜態(tài)變量?jī)H在聲明它的函數(shù)邏輯范圍內(nèi)有效. 即只有當(dāng)符合聲明條件的變量是可見(jiàn)的.
如果指定"作用域"參數(shù)為 Global, 則靜態(tài)變量在腳本任何部分都有效, 此時(shí)的靜態(tài)變量與腳本的全局變量的差別很小.
如果不使用"作用域", 則靜態(tài)變量將被創(chuàng)建為局部范圍; 此時(shí)的 Static 類(lèi)似函數(shù) Dim.

Local 與 Static 的不同之處是變量的生存期.
Local 只存儲(chǔ)函數(shù)被調(diào)用時(shí)的信息, 并且只能作用于函數(shù)聲明它的函數(shù)范圍內(nèi);
當(dāng)函數(shù)返回, 所有的局部變量被釋放.
Static 的作用范圍與 Local 相同, 但當(dāng)函數(shù)結(jié)束執(zhí)行后, 它們能繼續(xù)存在, 且保留其最后一個(gè)值.
當(dāng)尋找變量時(shí), 首先檢查局部范圍, 然后是全局范圍.

關(guān)鍵字 Static 的執(zhí)行類(lèi)似關(guān)鍵字 Global/Local/Dim.
  1. 都是先聲明變量, 然后才能使用它.

  2. 都可以創(chuàng)建數(shù)組.


注意: 無(wú)論 AutoItSetOption("MustDeclareVars") 是否設(shè)置, 靜態(tài)變量使用前, 必須使用關(guān)鍵字 Static 聲明, 靜態(tài)變量不能是 Const 常量.

可以在一行中聲明多個(gè)靜態(tài)變量:

Static $a, $b, $c


并初始化變量:

Static $a = 2, $b = 10, $c = 20



初始化靜態(tài)變量, 初始值僅在創(chuàng)建時(shí)計(jì)算和分配, 在腳本隨后的執(zhí)行中, 所有的初始值將被忽略.

有關(guān)使用數(shù)組的信息參見(jiàn) Local, 它具有與 Local 相同的功能, 以下情況除外:
  1. 重新初始化靜態(tài)對(duì)變量沒(méi)有效果.

  2. 更改靜態(tài)數(shù)組的大小被視為 ReDim 操作.

  3. 不能修改局部靜態(tài)變量為全局變量, 反之亦然.


如果要調(diào)整數(shù)組, 應(yīng)使用 Redim.

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

Local, UBound, ReDim, AutoItSetOption

函 數(shù) 示 例


; 靜態(tài)變量示例.

Func Test1()
    Static $STbFirstPass = 1

    If $STbFirstPass Then
        $STbFirstPass = 0
        ; 執(zhí)行首次任務(wù)
    EndIf
    ; 函數(shù)應(yīng)該做的其它事情
EndFunc   ;==>Test1

Func Accumulate($State)
    Static $Values[9]
    Local $I

    If IsNumber($State) Then
        Switch $State
            Case -1
                ; 復(fù)位
                For $I = 0 To 8
                    $Values[$I] = 0
                Next
                Return True
            Case -2
                Return $Values
            Case 0 To UBound($Values) - 1
                $Values[$State] += 1
                Return $Values[$State]
            Case Else
                If $State < 0 Then
                    SetError(1, 0)
                    Return False
                Else
                    Static $Values[$State + 1] ; 調(diào)整數(shù)組大小,以適應(yīng)新值
                    $Values[$State] = 1
                    Return 1
                EndIf
        EndSwitch
    Else
        SetError(2, 0)
    EndIf
EndFunc   ;==>Accumulate

Global $I

Test1()

For $I = 1 To 99
    Accumulate(Random(0, 20, 1))
Next
For $I In Accumulate(-2)
    ConsoleWrite($I & ", ")
Next
ConsoleWrite("\n");

Test1()

provider with jb51.net (unicode)