Deklaration einer Subroutine
Subroutinen
Syntax-Beispiel:
Sub SimpleSub()
... lines of code EndSub |
•Sub ist das Schlüsselwort, das die Prozedur notiert.
•SimpleSub ist der Name, der der Subroutine zugewiesen wurde.
•Runde Klammern können eine Parameterliste enthalten.
•Der Code-Block einer Subroutine beginnt direkt nach der geschlossenen Klammer nach dem Parameter.
•EndSub notiert das Ende des Code-Blocks.
Bitte beachten Sie:
Eine rekursive oder kaskadierende Subroutine-Deklaration ist nicht zulässig, d.h. eine Subroutine darf keine weiteren Subroutinen enthalten.
Parameter
Parameter können auch durch Prozeduren unter Verwendung der folgenden Syntax übergeben werden:
•Alle Parameter müssen Variablen sein
•Variablen muss das $-Zeichen vorangestellt werden
•Lokale Variablen werden in einer Subroutine definiert
•Globale Variablen werden explizit außerhalb von Subroutinen deklariert
•Mehrere Parameter werden innerhalb runder Klammern durch Kommas "," voneinander getrennt
•Parameter können Werte übergeben
Parameter - Übergabe von Werten
Parameter können auf zwei Arten übergeben werden: nach Wert oder nach Referenz, wobei die Schlüsselwörter ByVal bzw. ByRef verwendet werden.
Syntax:
' define sub CompleteSub() [Sub CompleteSub( $param, ByVal $paramByValue, ByRef $paramByRef ) ] ... |
•ByVal definiert, dass der Parameter nach Wert übergeben wird. Beachten Sie, dass die meisten Objekte nur nach Referenz übergeben werden können.
•ByRef definiert, dass der Parameter nach Referenz übergeben wird. Dies ist die Standardeinstellung, wenn weder ByVal noch ByRef definiert ist.
Funktionsrückgabewerte
Für die Rückgabe eines Werts von einer Subroutine verwenden Sie ein Return-Statement. Eine solche Funktion kann von innerhalb eines Ausdrucks aufgerufen werden.
Beispiel:
' define a function [Sub MakeQualifiedName( ByVal $namespacePrefix, ByVal $localName ) if $namespacePrefix = "" return $localName else return $namespacePrefix & ":" & $localName endif EndSub ] |