VBScript中的函数可以是Sub,也可以是Function,但Sub是没有返回值的,而Function只能有一个返回值。这一讲主要介绍如何借助其他手段使Function也能有多个返回值。
方法1 —— 借助Class
- ' 定义一个有多个变量成员的类
- Class MultiValue
- Dim a, b, c
- End Class
- Function ClassMulti(param1, param2, param3)
- Dim oClass
- ' 实例化类
- Set oClass = New MultiValue
- oClass.a = param1
- oClass.b = param2
- oClass.c = param3
- ' 指定函数返回为oClass对象
- Set ClassMulti = oClass
- End Function
- Dim oClass
- Set oClass = ClassMulti("value1","value2","value3")
- Msgbox oClass.a & vbCrlf & oClass.b & vbCrlf & oClass.c
方法2 —— 借助Dictionary对象
- Function DictionaryMulti(param1, param2, param3)
- Dim oDict
- ' 创建字典对象
- Set oDict = CreateObject("Scripting.Dictionary")
- ' 增加键名和键值
- oDict("a") = param1
- oDict("b") = param2
- oDict("c") = param3
- ' 指定函数返回为Dictionary对象
- Set DictionaryMulti = oDict
- End Function
- Dim oDict, sMsg
- Set oDict = DictionaryMulti("value1", "value2", "value3")
- ' 遍历返回的Dictionary中的键
- For Each vKey In oDict
- sMsg = sMsg & oDict.Item(vKey) & vbCrlf
- Next
- Msgbox sMsg
浙公网安备 33010602011771号