return

The return statement is used to exit a subroutine at an arbitrary point and return to the calling location.

Syntax

return

Details

A subroutine will automatically return to the location it was called from when the end of its body is reached. However it may be desirable to explicitly exit the subroutine at some other point in which case the return statement is used.

The return statement cannot be used to return a value to the calling code (this should be done via the use of variables as described in the subroutine statement documentation).

Example

#
          # Download two files into named buffers
          # using a subroutine to do so
          #
          gosub getfile(data1, "http://intranet/datadump1.json")
          gosub getfile(data2, "http://someotherserver/anotherfile.xml")
          
          # (Script to do something with the data goes here)
          
          #
          # Argument 1: the name of the buffer to store the data
          # Argument 2: the URL of the file to download
          #
          subroutine getfile {
              if (${SUBARG.COUNT} != 2) {
                  print "Error: This subroutine requires two arguments
                  return
              } 
          
              buffer ${SUBARG_1} = http GET "${SUBARG_2}"
              # There is an implicit 'return' here
          }

How did we do?