subroutine subroutinename ( variable list )
statements
end subroutine
subroutine subroutinename$ ( variable list )
statements
end subroutine
Créé un sous-programme (routine) qui peut recevoir zéro ou plus de paramètres et traiter ces paramètres. Un sous-programme ne retourne aucune valeur, il exécute juste une série d'instructions qui dépendent (ou non) des paramètres passés. Lors de l'exécution d'un sous-programme, si une instruction Return est rencontrée où si l'instruction End Suubroutine est atteinte, celui-ci se termine et le contrôle est rendu au programme appelant à l'instruction qui suit le call.
Toutes les variables utilisées dans le sous-programme est qui n'ont pas été déclarées avec Global, seront locales au sous-programme et ne changeront pas les valeurs d'éventuelles variable de même nom du programme appelant.
Les paramètres sont une liste de variables (zéro ou plus) numériques ou chaîne de caractères séparés par des virgules.Les tableaux et les variables peuvent être passés par référence en utilisant Ref dans la définition.
Les sous-programme devront être définis à la fin du programme et il est impossible de l'imbriquer dans une autre Function, Subroutine ou bloque de contrôle (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
Call, Do / Until, End, For / Next, Function, Global, Goto, Gosub, If / Then, Pause, Ref, Rem, Return, Subroutine, While / End While
0.9.9.1