Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Copy parameters

Copy parameters 


 

Copy parameters {( startFrom )} -> Funktionsergebnis 
Parameter Typ   Beschreibung
startFrom  Lange Ganzzahl in Starting index (included)
Funktionsergebnis  Collection in New collection containing parameters actually passed

Der Befehl Copy parameters gibt eine neue Collection zurück, die alle Parameter enthält, die tatsächlich an eine Methode oder eine Funktion übergeben wurden. Dieser Befehl ist nützlich, wenn Sie eine bestimmte Anzahl von Parametern von einer Methode oder Funktion an eine andere Methode oder Funktion weitergeben müssen. 

Im optionalen Parameter startFrom können Sie den Index des Parameters übergeben, ab dem die Collection von Parametern zur Weiterleitung beginnen soll. Der Parameter startFrom selbst ist enthalten. 

Beim Aufruf innerhalb einer Formel gibt Copy parameters die Parameter zurück, die explizit mit apply() oder call()  übergeben wurden (und nicht die, die an die übergeordnete Methode oder Funktion übergeben wurden).

Copy parameters gibt eine leere Collection zurück, wenn:

  • sie nicht in einer Methode oder Funktion aufgerufen wird, die von einer anderen Methode oder Funktion aufgerufen wurde,
  • kein Parameter an die übergeordnete Methode oder Funktion übergeben wurde.

Aufruf einer anderen Funktion in Abhängigkeit vom ersten Parameter und Übergabe anderer Parameter an diese Funktion:

 Function selectTask($task Text)
 Case of
    :($task="Task1")
       This.task1(Copy parameters(2))
    :($task="Task2")
       This.task2(Copy parameters(2))
 End case

Oder Sie rufen eine andere Funktion auf einem anderen Objekt mit apply() auf und übergeben die Parameter:

 Function doSomething($param Text;$extraParameters Variant)
 This.delegate.doSomething.apply(This.delegate;Copy parameters)

Da der Befehl eine Collection zurückgibt, kann er mit .join() verwendet werden, um z.B. eine html-Liste zu erstellen:

  // Class
 
 Function list($typeText)->Text
  //type of list is "u" or "o"
 var $value : Collection
 $value:=Copy parameters(2)
 $html:="<"+$type+"l><li>"
 $html+=$value.join("</li><li>")
 $html+="</li></"+$type+"l>"
 return$html
 
  // Method
 
 $htmlList:=$c.list("u";"Alpha";"Bravo";"Charlie")
  // $htmlList = <ul><li>Alpha</li><li>Bravo</li><li>Charlie</li></ul>



Siehe auch 

Count parameters

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Programmiersprache
Nummer: 1790

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v19 R5

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)