Я пытаюсь написать функцию, которая может возвращать несколько значения из функции, имеющей 2 аргумента.
Например:
function sample_function(arg1,arg2)
''#Some code.................
passenger = list1(0)
name1 = list1(1)
age1 = list1(2)
seatNumber = list1(3)
''#This is an Incomplete function...
end function sample_function
Здесь эта функция с именем sample_function имеет 2 аргумента с именем arg1, arg2. Когда я вызываю эту функцию в моем скрипте драйвера, как value = sample_function (2, Name_person), эта функция должна возвращать мне значения passenger, name1, age1, seatNumber.
Как мне этого добиться?
EDIT (LB): QTP использует VBScript для указания процедур тестирования, поэтому я переназначил это на VBScript, VB, потому что решение, вероятно, находится в VBScript.
Вы можете создать новый тип данных и добавить в него все необходимые элементы. Затем верните этот новый тип данных из своей функции.
Простым решением было бы вернуть массив:
function foo()
foo=array("Hello","World")
end function
x=foo()
MsgBox x(0)
MsgBox x(1)
Если вам случится использовать один и тот же пакет значений чаще, чем один раз, то, возможно, стоит сделать его определяемым пользователем классом:
class User
public name
public seat
end class
function bar()
dim r
set r = new User
r.name="J.R.User"
r.seat="10"
set bar=r
end function
set x=bar()
MsgBox x.name
MsgBox x.seat
В VBScript все параметры функции являются параметрами ввода / вывода (также называемыми параметрами ByRef). Таким образом, вы можете вернуть свои данные, просто используя параметры функции. Пример:
Function Test(a, b, c)
a = 1
b = 2
c = 3
End Function
Test x, y, z
MsgBox x ' Shows 1
MsgBox y ' Shows 2
MsgBox z ' Shows 3