我想使用一個數組,我在代碼的頂部多次聲明一次。防爆。你可以在VBScript中聲明一個常量數組嗎?
CONST宿舍= [ 「Q1」, 「Q2」, 「Q3」, 「Q4」]
對於每個季度q q.Do一些工作
等等
可以這樣在VBScript中完成?
我想使用一個數組,我在代碼的頂部多次聲明一次。防爆。你可以在VBScript中聲明一個常量數組嗎?
CONST宿舍= [ 「Q1」, 「Q2」, 「Q3」, 「Q4」]
對於每個季度q q.Do一些工作
等等
可以這樣在VBScript中完成?
數組是VBScript中函數調用的結果(Array()
)。文字值只能爲Const
。所以:不,你不能。
簡單的回答:沒有。該陣列不能被製作const
。
爲什麼不直接聲明數組爲public,然後在腳本啓動過程中分配數組?
Public myArray(3)
arrQuarters = Array("Q1", "Q2", "Q3", "Q4")
For Each Quarter in arrQuarters
wscript.echo Quarter
Next
你可以定義一個函數來返回你想用作常量的數組。例如:
For Each q in AllQuarters
wscript.echo q
Next
wscript.echo "element 0 = " & AllQuarters()(0)
AllQuarters()(0) = "X1"
wscript.echo "element 0 still = " & AllQuarters()(0)
Function AllQuarters()
AllQuarters = Array("Q1","Q2","Q3","Q4")
End Function
更短,更不易出錯的解決辦法是:
Dim arr
arr = Split("Q1 Q2 Q3 Q4") : ubd = UBound(arr)
' Implied separator is " " aka 040 octal aka 32 Dec aka 020 Hex.
如果您的數據可能會包含空格:
arr = Split("Le Sage,ne pleure,ni les vivants, ni les morts", ",")
ubd = UBound(arr)
' arr(2), for instance, now contains "ni les vivants"
注意:切勿選擇一個分隔符,可能發生在'原子'數據字符串中,或者該函數將在單個數據中間的分隔符上進行拆分。
爲了讓更多人提出建議,您可能需要等待一段時間(> 5分鐘),然後才能將問題標記爲答案... ;-) – Dscoduc 2009-02-10 19:18:21
爲什麼?這個問題得到了回答(我總是可以不標記它)。 – user45492 2009-02-13 22:33:46