RosettaCodeData/Task/Variadic-function/Visual-Basic/variadic-function.vb

41 lines
834 B
VB.net

Option Explicit
'--------------------------------------------------
Sub varargs(ParamArray a())
Dim n As Long, m As Long
Debug.Assert VarType(a) = (vbVariant Or vbArray)
For n = LBound(a) To UBound(a)
If IsArray(a(n)) Then
For m = LBound(a(n)) To UBound(a(n))
Debug.Print a(n)(m)
Next m
Else
Debug.Print a(n)
End If
Next
End Sub
'--------------------------------------------------
Sub Main()
Dim v As Variant
Debug.Print "call 1"
varargs 1, 2, 3
Debug.Print "call 2"
varargs 4, 5, 6, 7, 8
v = Array(9, 10, 11)
Debug.Print "call 3"
varargs v
ReDim v(0 To 2)
v(0) = 12
v(1) = 13
v(2) = 14
Debug.Print "call 4"
varargs 11, v
Debug.Print "call 5"
varargs v(2), v(1), v(0), 11
End Sub