Viele von Ihnen sind mit der Verwendung von Methoden oder Funktionen vertraut, die eine unbestimmte Anzahl von Parametern akzeptieren können , oft auch als variadische Funktionen bezeichnet.
Im Rahmen unseres kontinuierlichen Prozesses zur Verbesserung Ihrer Entwicklungserfahrung hat 4D v20 R3 die Deklaration dieser Methoden durch die Einführung von Ellipsen optimiert, wodurch Ihr Code übersichtlicher und einfacher zu handhaben ist.
In Ihrer Funktions- oder Methodendeklaration können Sie nun „…“ in Ihrem letzten Parameter verwenden, um anzugeben, dass die Anzahl der Parameter variabel ist. Diese Punkte können durch einen Typ ergänzt werden. Dieser Typ wird dann von 4D verwendet, um den Typ der von der Funktion oder Methode empfangenen Parameter zu prüfen.
Wenn Sie zum Beispiel eine SumNumbers-Methode erstellen wollen, die alle als Parameter übergebenen Zahlen summiert:
#DECLARE( ... : Real) : Real
var $number; $total : Real
var $i : Integer
For ($i; 1; Count parameters)
$total+= ${$i}
End for
return $total
Diese Methode kann mit einer variablen Anzahl von Parametern aufgerufen werden:
$total1:=SumNumbers // returns 0
$total2:=SumNumbers(1; 2; 3; 4; 5) // returns 15
Mit dieser Syntax prüft 4D nun die Parametertypen für Sie:
$total3:=SumNumbers(1; 2; "test"; 4; 5) // returns an error
Wenn Sie jedoch einen beliebigen Typ akzeptieren wollen, verwenden Sie „…“ ohne Typ:
function AcceptAllType(...)
var $value : variant
For each ($value; Copy parameters())
// your code here
End for each
Nutzen Sie die Vorteile dieser neuen Syntax, um flexible Funktionen oder Methoden zu erstellen, und sehen Sie sich diese Funktionen in der Dokumentation genauer an!