subroutine subroutinename ( variable list )
statements
end subroutine
subroutine subroutinename$ ( variable list )
statements
end subroutine
Create a subroutine (or subprogram) that will receive zero or more values and process those values. A subroutine does not return a value back to the user, it just does what you want it to do. Execution of a subroutine will terminate and control will be returned to the “calling” program when a Return statement is executed or by allowing the End Subroutine statement to be reached. All variables used within the subroutine, that have not been previously declared as Global, will be local to the subroutine and will not change the values in the calling code.
Subroutine variables may a list of zero or more, comma separated, numeric or string variables. Arrays and variables may be passed by reference using the Ref definition.
Subroutines should be defined at the bottom of your program, and can not be defined within another Function, Subroutine or control block (If/Then, Do/Until, …)
# 100 random circles clg for x = 1 to 100 call draw() next x end function rnd(n) rnd = int(rand*n) end function subroutine draw() color rnd(256),rnd(256),rnd(256) circle rnd(graphwidth), rnd(graphheight), rnd(graphwidth/10) end subroutine
0.9.9.1