Как создать функцию с переменным числом аргументов в visual basic?
напр.
x = Sum(1,2,3)
y = Sum(1,2)
Function Sum('how to declare argument here')
'Is there any special argument manipulation inside function before it is usable?
End Function
Function Sum(ParamArray Vals() As Variant)
Dim intLoopIndex As Integer
For intLoopIndex = 0 To UBound(Vals)
Next intLoopIndex
End Function
Ответ 2
Используйте необязательные аргументы, например:
Function Sum(Optional X1 As Integer=0, Optional X2 As Integer=0)
или синтаксис универсальных переменных
Function Sum(ParamArray XArr() As Variant)
(Возможно, я испортил некоторые элементы синтаксиса - не стесняйтесь исправлять.)
Ответ 3
Ответы здесь замечательные. В моем приложении мне потребовался произвольно длинный список необязательных аргументов после требуемого начального аргумента.
Вы можете сделать это, просто добавив необходимые аргументы перед записью ParamArray.
Например:
Function Arithmetic(FuncType As String, ParamArray Terms() As Variant)