能否在VBScript中声明常量数组?
我想使用一个数组,我在代码顶部多次声明一次。前 施工季度=[“第一季度”、“第二季度”、“第三季度”、“第四季度”] 每季度q q、 做些工作 等等能否在VBScript中声明常量数组?,vbscript,Vbscript,我想使用一个数组,我在代码顶部多次声明一次。前 施工季度=[“第一季度”、“第二季度”、“第三季度”、“第四季度”] 每季度q q、 做些工作 等等 这可以在VBScript中完成吗?简单回答:不可以。数组不能成为const数组是VBScript中函数调用(array())的结果。只能生成文本值Const。因此:不,您不能。为什么不将数组声明为公共数组,然后在脚本开始时分配数组 Public arrQuarters arrQuarters = Array("Q1", "Q2", "Q3", "Q
这可以在VBScript中完成吗?简单回答:不可以。数组不能成为
const
数组是VBScript中函数调用(array()
)的结果。只能生成文本值Const
。因此:不,您不能。为什么不将数组声明为公共数组,然后在脚本开始时分配数组
Public arrQuarters
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分钟),然后再回答一个问题,让更多的人提出建议……为什么?问题得到了回答(我可以随时取消标记)。这是一个好答案。虽然不能声明常量数组,但有一个变通方法:将其定义为函数。