我想使用一个我在代码顶部多次声明一次的数组。实施例
Const Quarters = [“Q1”,“Q2”,“Q3”,“Q4”]
每个季度q q。做一些工作
等
可以在VBScript中完成吗?
答案 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"
警告:切勿选择“原子”数据字符串中可能出现的分隔符,否则该函数将在单个数据片段的中间拆分该分隔符。