Déclaration de sous-routine
Sous-routine
Exemple de syntaxe :
Sub SimpleSub()
... lines of code EndSub |
•Sub est le mot-clé qui dénote la procédure.
•SimpleSub est le nom attribué à la sous-routine.
•Λα parenthèseRonde peut contenir une liste de paramètre.
•Le bloc de code d’une sous-routine est lancé immédiatement après la parenthèse de fermeture de paramètre.
•EndSub dénote la fin du code de bloc.
Note: | La déclaration récursive ou en cascade de la sous-routine n’est pas permise, donc une sous-routine peut ne pas contenir une autre sous-routine. |
Paramètres
Les paramètres peuvent aussi être passés par des procédures utilisant la syntaxe suivante :
•Tous les paramètres doivent être des variables
•Les variables doivent être préfixées par le caractère $
•Les variables locales sont définies dans une sous-routine
•Les variables globales sont déclarées explicitement, en-dehors des sous-routines
•Plusieurs paramètres sont séparés par le caractère virgule "," dans des parenthèses arrondies
•Des paramètres peuvent passer des valeurs
Paramètres - des valeurs passées
Des paramètres peuvent être passées de deux manières, par des valeurs et par des références, en utilisant les mots-clés ByVal et ByRef respectivement.
Syntaxe :
' define sub CompleteSub() [Sub CompleteSub( $param, ByVal $paramByValue, ByRef $paramByRef ) ] ... |
•ByVal spécifie que le paramètre est passé par valeur. Veuillez noter que la plupart des objets peut uniquement être passé par la référence.
•ByRef spécifie que le paramètre est passé par la référence. Il s’agit du défaut si ni ByVal ou ByRef est spécifié.
La fonction retourne des valeurs
Pour retourner une valeur depuis une sous-routine, utiliser l’instruction return . Une telle fonction peut être appelée depuis l’intérieur d’une expression.
Exemple :
' define a function [Sub MakeQualifiedName( ByVal $namespacePrefix, ByVal $localName ) if $namespacePrefix = "" return $localName else return $namespacePrefix & ":" & $localName endif EndSub ] |