定义静态变量或静态数组.
Static [作用域] 变量 [ = 初值 ]
Static [作用域] 数组[索引 1]...[索引 n] [
= 初值 ]
作用域 | 可选修饰符, 指定变量的作用范围: Local 或 Global. |
变量 | 静态变量的名称. |
初值 | 分配给变量的初始值. 可以是函数调用的数学或字符串运算. 此值仅在变量第一次声明时计算. |
索引 | 数组维数的元素数量, 索引为 0 到 n-1. |
Static $a, $b, $c
Static $a = 2, $b = 10, $c = 20
; 静态变量示例.
Func Test1()
Static $STbFirstPass
= 1
If
$STbFirstPass Then
$STbFirstPass = 0
; 执行首次任务
EndIf
;
函数应该做的其它事情
EndFunc ;==>Test1
Func Accumulate($State)
Static $Values[9]
Local
$I
If
IsNumber($State) Then
Switch $State
Case -1
; 复位
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]
; 调整数组大小,以适应新值
$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) |