Deklaration einer Subroutine

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Benutzerhandbuch und Referenz > Code Generator > SPL (Spy Programming Language) > Subroutinen >

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

]


© 2019 Altova GmbH