Ein Parameter ist eine Variable, die verwendet wird, um Informationen an eine Funktion zu übergeben. In der Intent-Sprache werden Funktionsparameter nach Wert übergeben, d. h. eine Kopie der einzelnen Variablen wird an die Funktion übergeben; Änderungen an der kopierten Variablen wirken sich nicht auf die ursprüngliche Variable aus. Sie können eine beliebige Anzahl von Parametern (durch Kommas getrennt) in eine Funktion oder Methode einbeziehen. Die übergebenen Parameter werden als Variablen in Anweisungen innerhalb der Funktion verwendet.
Ein optionaler Parameter wird mit dem Modifikator optional deklariert. Parameter, die einem optionalen Parameter in der Parameterliste folgen, müssen ebenfalls optionale Parameter oder Variablen parameter sein (Variablenparameter werden im nächsten Abschnitt behandelt). Ein optionaler Parameter muss zudem einen Vorgabeausdruck für die Verwendung in dem Fall angeben, dass kein Argument angegeben ist.
Function avgTest10(inList As List, Optional limit As Number = 10.0) As Number Dim i As Integer Dim total As Number = 0.0 Dim avg As Number For i = 1 To length(inList) total = total + nth(i,inList) Next i avg = total / length(inList) If avg > limit Then printValue("Average = " + stringValue(avg) + " Exceeds limit!") Else printValue("Average = " + stringValue(avg)) End If Return avg End Function
Im obigen Beispiel wird der durchschnittliche Wert einer Liste mit Zahlen berechnet. Wenn der Durchschnitt einen angegebenen Grenzwert überschreitet, wird eine Meldung ausgegeben. Der Grenzwert ist ein optionaler Parameter mit dem vorgegebenen Wert 10. Zum Aufrufen der Funktion mit dem Vorgabewert des optionalen Parameters wird folgende Syntax verwendet:
Um den Wert der optionalen Wertgrenze zu überschreiben, weisen Sie im Funktionsaufruf einen neuen Wert zu (beachten Sie die Verwendung des Zuweisungsoperators :=).
Der Operator := wird in einer tatsächlichen Argumentliste verwendet. Er ist nicht in allgemeinen Listen zulässig. Einige Funktionen wie Apply holen ihre Argumente aus allgemeinen Listen und können := nicht verwenden. Beispielsweise ist es manchmal erforderlich den Name einer Funktion während der Laufzeit zu berechnen, z. B. für die Funktion Apply. In diesen Fällen werden die Argumente als Liste bereitgestellt. Für diese Situationen wird eine alternative Syntax unterstützt (auch konsistent mit den älteren Versionen der Intent-Sprache, sodass nicht alle Aufrufe umgeschrieben werden mussten).
Die alternative Syntax ermöglicht die Bereitstellung der Argumente in der Form Name, Wert. Die alternative Form der Regel lautet
Rule testLimit As Number = avgTest10({2, 4, 9}, :limit, 4)
Ein Variablenparameter wird unter Verwendung des Auslassungszeichens ... als Modifizierer deklariert. Eine Funktion kann so deklariert werden, dass sie eine beliebige Anzahl von Parametern annimmt. Nachdem alle erforderlichen oder optionalen Parameter zugeordnet wurden, werden die verbleibenden Parameter in einer Liste zusammengefasst. Diese Liste wird als Wert für den Variablenparameter bereitgestellt.
Pro Funktion darf nur ein Variablenparameter vorhanden sein, und er muss sich in der Deklaration an letzter Stelle befinden. Wenn Sie den Modifizierer ... bei einem Variablenparameter auslassen, tritt während der Kompilierung ein Fehler auf. Wenn ein optionaler Typname angegeben wird, steht dieser für den Typ des jeweiligen Elements in der Liste. Wenn die Liste Parameter unterschiedlicher Typen enthält, muss der Typ Any verwendet werden.
Im Funktionsrumpf kann der Variablenparameter als Liste verwendet werden. Wenn keine Werte angegeben sind, ist die Liste leer. Somit ist auch die Variablenparameterliste optional, wobei als fester Vorgabewert die leere Liste verwendet wird.
Im folgenden Beispiel ist eine Funktion dargestellt, die einen Variablenparameter des Typs Zahl aufweist. Argumente, die über einen Funktionsaufruf bereitgestellt werden, müssen vom Typ Zahl oder Ganzzahl sein.