mrparity hat geschrieben:gibt es die Möglichkeit benannte Parameter (named parameter) zu übergeben? Vielleicht ein Hash oder sowas in der Richtung?
Hallo,
NEIN, Xbase kennt keine named parameters !
Die Parameter müssen immer in der richtigen Reihenfolge übergeben werden, allerdings kann man einige überspringen oder ganz weglassen:
funktion XYZ(P1, P2, P3, P4)
Aufruf z.B. ohne Paramter XYZ() ist ok, P1, P2, P3 und P4 werden dann NIL enthalten ! Einige Xbase++-Funktionen haben andere Standardwerte, wenn man nichts übergibt.
Aufruf mit einigen ...
XYZ("a", , @Name) ->
ergibt in der aufgerufenen Funktion ->
P1 == "a" // übergabe per Value = Standard
P2 == NIL // dieser wurde übersprungen
P3 ==
Referenz auf die
Variable vom aufrufenden Programm Name
ich weiß nicht ob du das mit Hash meinst, aber eine Änderung in der Funktion wird auch den Wert im Hauptprogramm ändern und umgekehrt !
P4 == NIL // übersprungen
@Jimmy,
named Parameter kann man z.B. bei VB verwenden um nur einige Parameter zu übergeben, wobei die Reihenfolge egal ist und das sieht so aus:
Code: Alles auswählen
function XYZ(cName,cVorname,cPLZ,cOrt)
VB: ? xyz(cPLZ="67345")
Xbase++: ? XYZ(,,"67345")