你能在VBScript中声明一个常量数组吗?

时间:2009-02-10 18:50:47

标签: vbscript

我想使用一个我在代码顶部多次声明一次的数组。实施例

Const Quarters = [“Q1”,“Q2”,“Q3”,“Q4”]

每个季度q   q。做一些工作

可以在VBScript中完成吗?

5 个答案:

答案 0 :(得分:10)

数组是VBScript中函数调用(Array())的结果。只能生成文字值Const。所以:不,你不能。

答案 1 :(得分:6)

为什么不将数组声明为public,然后在脚本开始时分配数组?

Public myArray(3) 
arrQuarters = Array("Q1", "Q2", "Q3", "Q4")

For Each Quarter in arrQuarters
    wscript.echo Quarter
Next

答案 2 :(得分:4)

您可以定义一个函数来返回要用作常量的数组。例如:

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

答案 3 :(得分:2)

简单回答:不。无法将数组设为const

答案 4 :(得分:1)

更短且不易出错的解决方案是:

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"

警告:切勿选择“原子”数据字符串中可能出现的分隔符,否则该函数将在单个数据片段的中间拆分该分隔符。