**AutoHotkey Variadic Functions** can be incredibly handy when you don’t know the exact number of parameters. The below example shows some simple math where you can pass any number of parameters to be added. It also demonstrates how you can use MaxIndex() to determine how many parameters were passed to the function.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Browser_Forward::Reload Browser_Back:: ;***********variadic function******************* MsgBox % math(1,2) MsgBox % math(1,2,3) MsgBox % math(1,2,3,4) math(x*){ tot:=0 for k, y in X tot:=y + tot loop, % x.MaxIndex() ;Loop over the # of parameters that exist Indiv.= x[A_Index] "+" return SubStr(Indiv,1,(StrLen(Indiv)-1)) "=" tot ;use substr to remove the last + sign } |