在vbscript中一次分配多个数组值的表示法

时间:2014-02-08 08:17:06

标签: arrays vbscript

我是vbscript的初学者。我定义了一个类似

的数组
Dim MyArray(5)
MyArray(0) = "foo"
MyArray(1) = "bar"
MyArray(2) = "foobar"
MyArray(3) = "foo"
MyArray(4) = "barbar"
MyArray(5) = "foofoo"

我想知道是否有类似其他语言的语法,例如PHP喜欢

MyArray = Array("foo", "bar", "foobar", "foo", "barbar", "foofoo")

1 个答案:

答案 0 :(得分:2)

是:

>> MyArray = Array("foo", "bar", "foobar", "foo", "barbar", "foofoo")
>> WScript.Echo Join(MyArray, "-")
>>
foo-bar-foobar-foo-barbar-foofoo
>>

但是:Dim MyArray(5)声明/定义一个固定/不可调整大小的数组,而Array函数返回一个可以通过ReDim Preserve增长/缩小的数组。

更新评论:

您应该Dim所有变量(并使用Option Explicit强制执行此规则)。所以我的代码片段应该是:

>> Dim MyArray : MyArray = Array("foo", "bar", "foobar", "foo", "barbar", "foofoo")
>> WScript.Echo Join(MyArray, "-")
>>
foo-bar-foobar-foo-barbar-foofoo
>>

VBScript是弱类型的。通常,变量将从指定的值中获取其(子)类型;如果将返回数组的函数(如Array()或Split())的返回值赋给变量,它将“接受”它。但是,固定数组是这个一般规则的一个例外。