CloudCheckr FinanceManager Extract Statement: return

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




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).


          # 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
              buffer ${SUBARG_1} = http GET "${SUBARG_2}"
              # There is an implicit 'return' here

How did we do?