Går det att få ut argumenten för en viss funktion som en collection. Hur använder man sig av det i funktionen?
Kan man på det sättet "härma" överlagrade funktioner. Dvs skapa en funktion som hanterar anrop oavsett om man vill ex. skicka in en eller två argument? Ex-anrop till en funtion med namnet GetParam():
Jag funderade bara på att det i referensen för en funktion i VBScript står:
Public [Default] | Private] Function name [(arglist)]
...
arglist
List of variables representing arguments that are passed to the Function procedure when it is called. Commas separate multiple variables.
...
The arglist argument has the following syntax and parts:
[ByVal | ByRef] varname[( )]
Jag förstår inte riktigt hur jag kan använda mig av det. Funderade på om man kunde använda sig av det på samma sätt man kan göra i JavaScript. Men property:n "arguments" i en function.
Public Function Foo(ParamArray ArgList() As Variant)
Dim vArray As Variant, i As Long
vArray = ArgList()
For i = 0 To UBound(vArray)
MsgBox vArray(i)
Next i
End Function
Du får alltså en metod där du skickar in ett obestämt antal argument som man sen använder som en array inuti metoden.
Ungefär som funktionen Array i VBScript.
Detta är dock inte samma sak som Optional argument även om man kan använda det för samma sak om man vill göra det krångligt.