devxlogo

Use function name as a local variable

Use function name as a local variable

Many programmers don’t realize that it is perfectly legal to use the name of a function inside the Function itself, as if it were a local variable. This trick often lets you avoid the declaration of a temporary variable, and sometimes can speed up the code. Take for example the following code:

Function Max(arr() As Long) As Long    Dim res As Long, i As Long    res = arr(LBound(arr))    For i = LBound(arr) + 1 To UBound(arr)        If arr(i) > res Then res = arr(i)    Next    Max = resEnd Function

You can make it more concise by getting rid of the res variable:

Function Max(arr() As Long) As Long    Dim i As Long    Max = arr(LBound(arr))    For i = LBound(arr) + 1 To UBound(arr)        If arr(i) > Max Then Max = arr(i)    NextEnd Function

You can even pass the function name by reference to another routine, or as an argument of an API function.

devx-admin

Share the Post: