VBScript中的函数可以是Sub,也可以是Function,但Sub是没有返回值的,而Function只能有一个返回值。这一讲主要介绍如何借助其他手段使Function也能有多个返回值。


方法1 —— 借助Class

  1. ' 定义一个有多个变量成员的类  
  2. Class MultiValue  
  3.     Dim a, b, c  
  4. End Class  
  5.   
  6. Function ClassMulti(param1, param2, param3)  
  7.     Dim oClass  
  8.     ' 实例化类    
  9.     Set oClass = New MultiValue  
  10.     oClass.a = param1  
  11.     oClass.b = param2  
  12.     oClass.c = param3  
  13.      
  14.     ' 指定函数返回为oClass对象  
  15.     Set ClassMulti = oClass  
  16. End Function  
  17.   
  18. Dim oClass  
  19. Set oClass = ClassMulti("value1","value2","value3")  
  20.   
  21.   
  22. Msgbox oClass.a & vbCrlf & oClass.b & vbCrlf & oClass.c  


方法2 —— 借助Dictionary对象

    1. Function DictionaryMulti(param1, param2, param3)  
    2.     Dim oDict  
    3.     ' 创建字典对象  
    4.     Set oDict = CreateObject("Scripting.Dictionary")  
    5.     ' 增加键名和键值  
    6.     oDict("a") = param1  
    7.     oDict("b") = param2  
    8.     oDict("c") = param3  
    9.   
    10.    ' 指定函数返回为Dictionary对象  
    11.    Set DictionaryMulti = oDict  
    12. End Function  
    13.   
    14. Dim oDict, sMsg  
    15. Set oDict = DictionaryMulti("value1""value2""value3")  
    16.   
    17.   
    18. ' 遍历返回的Dictionary中的键  
    19. For Each vKey In oDict  
    20.     sMsg = sMsg & oDict.Item(vKey) & vbCrlf  
    21. Next  
    22.   
    23. Msgbox sMsg 
posted on 2014-04-04 17:04  叶城宇  阅读(526)  评论(0)    收藏  举报