将数组拆分为多个值

时间:2017-02-02 23:25:32

标签: arrays vbscript

我正在尝试构建一个易于使用的命令系统(我不会详细介绍它)。我有一个像这样的数组:

Array1 = Array(Array("help", "List all commands", Function()
             ' Code for help
         End Function,
         Array("write", "Write a note: /write <title> <description>", Function(p1, p2)
             ' Code for write
         End Function))
Array2 = Array("This is a title", "This is a description")

我想调用第一个数组的第3个值:Array1(3)(Array2)而不在Array1的函数中添加代码。这可能吗?如果是这样,请告诉我如何实现这一目标。

1 个答案:

答案 0 :(得分:2)

不,这是不可能的。 VBScript语法不允许这样做。

您可以使用的方法的更近的语法是

Function cmdHelp( arguments )
    WScript.Echo "HELP [" & arguments(0) & ":" & arguments(1) & "]"
End Function

Array1 = Array("help", "list all commands", GetRef("cmdHelp"))
Array2 = Array("first", "second")

Array1(2)( Array2 )

也就是说,在数组中放置对将处理操作的代码的引用。

但请注意,在VBScript中,子例程和函数具有一组已定义的参数。当您对引用的过程执行调用时,参数的数量必须与函数/子定义匹配。