VBS的函数如何设置多个返回值?
如题!! 我现在拿多个返回值是吧所有的返回值用个符号给分割开 然后拿出来再处理字符串的。。这么多MS有点弱智。。哪位知道如何更好地办法么。。。谢谢指教。。 1.返回数组2.使用dictionary对象来保存并返回(推荐)
回复 2# 的帖子
能否举例说明 谢谢。。。。:hug:一种简单的方法如下:
Function b()b=split("a,b,c,d,e,f" ,",")
End Function
'以上函数返回数组b,但是引用数组元素不能直接引用,而要以以下方式引用:b()(i) 其中i是数组的下标,如果要循环输出这个数组,那么代码如下
for i=0 to 5
msgbox b()(i)
next
'或
for i=0 to 5
print (b()(i))
next
[ 本帖最后由 feiyunkai 于 2010-3-11 15:07 编辑 ] 上面的办法都可以
还有个怪办法:可以对传进来的值赋值,就能把值带出去了,递归时千万别用
a=1
b=2
test 8,a,b
Function test(q,w,e)
w = 3
e = 4
End Function
MsgBox a
MsgBox b 我觉得用2楼说的dictionary蛮好用的 我想知道怎么用dictionary来传。。。 dictionary相当于动态数组
Set oDic=Createobject("scripting.Dictionary")
oDic.Add 1,"a"
oDic.Add 2,"b"
上面是写入oDic的
读出来就是
oDic(1)结果就是a
返回字典对象
Function test()Set dic=CreateObject("scripting.dictionary")
dic.Add "first",1
dic.Add "second",2
Set test=dic
Set dic=nothing
End Function
'调用函数
Set x=test()
MsgBox x.item("first")
MsgBox x.item("second")
Set x=nothing 感觉楼主的方法挺好的,用dictionary的话不就等于再把结果处理了一遍啊。。。
页:
[1]