如何创建VBScript多行数组?

xek*_*kon 2 arrays vbscript comments multiline

我有一个VBScript文件,我使用它在数组中有很多值.

recipes = Array("chicken soup","turkey","mash potatoes","yams","stuffing")
Run Code Online (Sandbox Code Playgroud)

在多行上声明此数组的正确方法是什么,类似于:

recipes = Array("chicken soup",
"turkey",
"mash potatoes",
"yams",
"stuffing")
Run Code Online (Sandbox Code Playgroud)

这样我就可以在每一行写评论(或者这是正确的吗?):

recipes = Array("chicken soup", 'broth, noodles, chicken
"turkey",         'YUMMY i love turkey
"mash potatoes",  'butter, sour cream, cook 20mins
"yams",           'dont forget the marshmallows
"stuffing")       'celery, jiffy cornbread, broth
Run Code Online (Sandbox Code Playgroud)

Pot*_*toツ 6

只需在每行末尾添加下划线,如下所示:

recipes = Array("chicken soup",_
                "turkey",_
                "mash potatoes",_
                "yams",_
                "stuffing")
Run Code Online (Sandbox Code Playgroud)

注意:但即使在这种情况下,您也不能为每一行添加注释。


Lan*_*art 5

如果要逐行声明数组值以允许注释,则有两个选项.

  1. 如果您有固定数量的数组项,则可以定义该数组,然后填充每个元素.

    Dim receipes(4)
    Dim receipe
    
    receipes(0) = "chicken soup"  'Chicken Soup
    receipes(1) = "turkey"        'Turkey
    receipes(2) = "mash potatoes" 'Mash Potatoes
    receipes(3) = "yams"          'Yams
    receipes(4) = "stuffing"      'Stuffing
    
    For Each receipe In receipes
      WScript.Echo receipe
    Next
    
    Run Code Online (Sandbox Code Playgroud)

    输出:

    chicken soup
    turkey
    mash potatoes
    yams
    stuffing
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果需要动态声明,可以使用ReDim.的Preserve关键字告诉ReDim调整大小的尺寸时,以不为空数组.

    Dim receipe
    ReDim receipes(0)
    receipes(0) = "chicken soup"  'Chicken Soup
    ReDim Preserve receipes(1)
    receipes(1) = "turkey"        'Turkey
    ReDim Preserve receipes(2)
    receipes(2) = "mash potatoes" 'Mash Potatoes
    ReDim Preserve receipes(3)
    receipes(3) = "yams"          'Yams
    ReDim Preserve receipes(4)
    receipes(4) = "stuffing"      'Stuffing
    
    For Each receipe In receipes
      WScript.Echo receipe
    Next
    
    Run Code Online (Sandbox Code Playgroud)

    输出:

    chicken soup
    turkey
    mash potatoes
    yams
    stuffing
    
    Run Code Online (Sandbox Code Playgroud)

有用的链接