QTP指令碼編寫技巧 - 從函式中返回多個值的方法
relevantcodes.com的《Passing Multiple Values from Functions》這篇文章介紹瞭如何從函式(Function)中返回多個值:
http://relevantcodes.com/passing-multiple-values-from-functions/
第一種方法是利用全域性變數,因此根本不用返回,只要直接給全域性變數賦值即可。
例:
Dim intNumber_1: intNumber_1 = 40
Dim intNumber_2: intNumber_2 = 80
Public Sub PassValues
intNumber_1 = intNumber_1/4
intNumber_2 = intNumber_2/4
End Sub
PassValues
MsgBox "intNumber_1 = " & intNumber_1 &_
vbLf & "intNumber_2 = " & intNumber_2
第二種方法是用返回一個Dictionary集合的方式來返回多個值。
例:
Public Function PassValues(ByVal Num_1, ByVal Num_2)
Set oDict = CreateObject( "Scripting.Dictionary" )
With oDict
.Add "Num_1", Num_1/4
.Add "Num_2", Num_2/2
End With
Set PassValues = oDict
End Function
Set colNumbers = PassValues(40,80)
MsgBox "intNumber_1 = " & colNumbers.Item("Num_1") &_
vbLf & "intNumber_2 = " & colNumbers.Item("Num_2")
第三種方法是用返回一個陣列的方式來返回多個值。
例:
Public Function PassValues(ByVal Num_1, ByVal Num_2)
Dim arrArray: ReDim arrArray(2)
arrArray(0) = Num_1/4
arrArray(1) = Num_2/2
PassValues = arrArray
End Function
arrNew = PassValues(40,80)
MsgBox "intNumber_1 = " & arrNew(0) &_
vbLf & "intNumber_2 = " & arrNew(1)
第四種方法是將需要返回的值連線到一個字串來返回,這種方法要求接收資料的呼叫者需要用Split來切割出一個個資料。
例:
Public Function PassValues(ByVal Num_1, ByVal Num_2)
Num_1 = Num_1/4
Num_2 = Num_2/2
PassValues = Num_1 & "," & Num_2
End Function
sNum = PassValues(40,80)
MsgBox "intNumber_1 = " & Split(sNum, ",")(0) &_
vbLf & "intNumber_2 = " & Split(sNum, ",")(1)
第五種方法是通過ByRef關鍵字指定引數為引用,這種方法與用全域性變數的方法類似,也是直接修改值,不同返回。
例:
Dim intNumber_1: intNumber_1 = 40
Dim intNumber_2: intNumber_2 = 80
Public Sub PassValues(ByRef Num_1, ByRef Num_2)
Num_1 = Num_1/4
Num_2 = Num_2/2
End Sub
PassValues intNumber_1, intNumber_2
MsgBox "intNumber_1 = " & intNumber_1 &_
vbLf & "intNumber_2 = " & intNumber_2
相關文章
- Go中多個返回值的技巧Go
- SQL Server 函式返回多個值SQLServer函式
- 如何實現函式返回多個值函式
- shell指令碼獲取函式返回值指令碼函式
- Python的函式能返回多個值嗎Python函式
- Python學習之函式返回多個值Python函式
- Linux編寫Bash指令碼的10個技巧Linux指令碼
- 一個返回值函式函式
- 【Python基礎】Python 函式返回多個值和函式註解Python函式
- 函式的返回值函式
- Linux 中高效編寫 Shell 指令碼的 10 個技巧Linux指令碼
- python中函式如何返回多個結果?Python函式
- [轉載] Java中如何在方法中return返回多個值Java
- 如何編寫冪等的Bash指令碼(函式)? · Fatih Arslan指令碼函式
- 【轉】[C#] 建立返回多個值的方法C#
- 從0到1編寫一個指令碼引擎指令碼
- 從一個問題討論到Decode函式返回值函式
- 函式的祕密之 函式返回值函式
- 函式返回值1函式
- 從0到1編寫一個JS指令碼引擎JS指令碼
- [轉]寫好shell指令碼的13個技巧指令碼
- 編寫一個物件&&陣列深copy函式方法物件陣列函式
- javascript學習筆記--函式的返回值可以是一個函式JavaScript筆記函式
- 【C語言】編寫函式 unsigned int reverse_bit(unsigned int value); 這個函式的返回值吧value的二進位制位模式從左到右翻轉後的值。C語言函式模式
- 在loadrunner中呼叫QTP指令碼QT指令碼
- 編譯通過的 foo函式返回一個int編譯函式
- 0305函式返回值函式
- 從零開始編寫指令碼引擎指令碼
- 07:函式之函式的引數和返回值函式
- C語言中函式的返回值C語言函式
- javascript建構函式的返回值JavaScript函式
- main函式返回值的處理AI函式
- 編寫優秀程式碼的10個技巧
- GO語言————5.2 測試多返回值函式的錯誤Go函式
- 從如何編寫冪等Bash指令碼瞭解怎麼實現冪等函式? · Fatih Arslan指令碼函式
- SQL Server 中建立返回值為表的函式其中包括遊標的使用方法SQLServer函式
- strcmp()函式,如果兩個字串引數相同,該函式就返回0,否則返回非零值函式字串
- 三、日常運維指令碼編寫一些技巧運維指令碼