我对 vbscript 相当陌生,但由于我更熟悉 Javascript,所以我有点困难。 有人可以帮我一下吗?
vbscript 是否允许使用命名数组键,就像我在下面的示例中所使用的那样?
例如我有:
Dim result(3)
result(age) = 60
result(firstname) = "Tony"
result(height) = 187
result(weight) = 76
msgbox("Age: " & result(age) & vbCr &_
"Name: " & result(firstname) & vbCr &_
"Height: " & result(height) & vbCr &_
"Weight: " & result(weight) )
生成的消息框显示:
Age: 76
Name: 76
Height: 76
Weight: 76
这似乎将结果数组中的每个元素分配给 76,这 应该只分配给“权重”元素。
发生这种情况是因为 vbscript 只接受整数作为键/ 数组的索引?
非常感谢任何帮助。
谢谢 图尔格
最佳答案
为了实现这一点,您需要使用脚本库中的 Dictionary 对象:-
Dim result : Set result = CreateObject("Scripting.Dictionary")
result.Add "Age", 60
result.Add "Name", "Tony"
等等。您可以通过以下方式检索项目:-
Dim age : age = result("Age")
但是,如果您有一组固定的标识符,您可以考虑定义一个类:-
Class CResult
Public Age
Public Name
End Class
Dim result : Set result = new CResult
result.Age = 60
result.Name = "Tony"
MsgBox "Age: " & result.Age & vbCrLf & _
"Name: " & result.Nname) & vbCrLf
顺便说一句,通常我们使用 CR LF 来换行,而不仅仅是 CR。另外,如果您使用方法或函数作为语句(如上面的 MsgBox 中所示),请勿将参数括在 ( ) 中。
关于arrays - VBSCRIPT 数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372001/