Funktionsüberlastung in JSL?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich habe gerade angefangen, mit Funktionen in JSL zu arbeiten. Ich frage mich, ob es eine Möglichkeit gibt, Überlastfunktionen ähnlich wie C ++ / C # zu erstellen.
Selbst wenn JSL es nicht offiziell unterstützt, kann es auch eine Möglichkeit geben, Pseudoüberladungen zu erstellen, beispielsweise mit VBScript mit CASE / WHERE. Hat jemand das versucht?
Vielen Dank!
Re: Funktionsüberlastungen in JSL?Danke, ich habe nach einer Suche eine gute Diskussion über optionale Argumente gefunden. Dies bietet die gleiche Fähigkeit, die ich brauche. Es klingt, als würden optionale Argumente erstellt, indem Standardwerte für zusätzliche Argumente bereitgestellt werden. Sie können der Funktion auch eine Liste oder ein assoziatives Array zuweisen und das Verhalten der Funktion basierend auf der Anzahl der Werte in der Liste oder den Schlüsseln im assoziativen Array ändern. Die Verwendung einer Liste erfordert, dass die Eingaben beim Aufruf der Funktion sorgfältig in der richtigen Reihenfolge angeordnet werden. Mit dem assoziativen Array können die Argumente jedoch in beliebiger Reihenfolge angegeben werden.
Re: Funktionsüberlastungen in JSL?Es gibt keine Überlastung. Sie können jedoch Argumente optional machen, sodass f (a) und f (a, b) dieselbe Funktion aufrufen können:
f = Funktion ({x, y = 0}, sqrt (x * x + y * y));
Sie können die Typen der Argumente auch mit Funktionen wie Is Number () innerhalb eines verschachtelten if () überprüfen, das sich wie Ihr VB-Beispiel anhört.