Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20 R7
Copy parameters

Copy parameters 


 

Copy parameters {( startFrom )} -> Résultat 
Paramètre Type   Description
startFrom  Entier long in Starting index (included)
Résultat  Collection in New collection containing parameters actually passed

La commande Copy parameters retourne une nouvelle collection contenant tous les paramètres passés à une méthode ou à une fonction. Cette commande est utile lorsque vous devez transférer un certain nombre de paramètres d'une méthode ou d'une fonction à une autre méthode ou fonction. 

Dans le paramètre facultatif startFrom, vous pouvez passer l'index du paramètre à partir duquel vous souhaitez commencer à collecter les paramètres à transférer. Le paramètre startFrom lui-même est inclus. 

Lorsque la commande Copy parameters est appelée à l'intérieur d'une formule, elle retourne les paramètres passés explicitement à l'aide de apply() ou call() (et non ceux passés à la méthode ou fonction parente). 

Copy parameters retourne une collection vide si :

  • elle n'est pas appelée dans une méthode ou fonction qui a été appelée par une autre méthode ou fonction,
  • aucun paramètre n'a été passé à la méthode ou à la fonction parente.

Appeler une fonction différente en fonction du premier paramètre et passer d'autres paramètres à cette fonction :

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

Ou, appeler une autre fonction ou un autre objet avec apply() passer les paramètres :

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

Puisque la commande retourne une collection, elle peut être utilisée avec .join() pour générer une liste html par exemple :

  // Classe
 
 Function list($typeText)->Text
  //le type de liste est "u" ou "o"
 var $value : Collection
 $value:=Copy parameters(2)
 $html:="<"+$type+"l><li>"
 $html+=$value.join("</li><li>")
 $html+="</li></"+$type+"l>"
 return$html
 
  // Méthode
 
 $htmlList:=$c.list("u";"Alpha";"Bravo";"Charlie")
  // $htmlList = <ul><li>Alpha</li><li>Bravo</li><li>Charlie</li></ul>



Voir aussi  

Count parameters

 
PROPRIÉTÉS 

Produit : 4D
Thème : Langage
Numéro : 1790

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v19 R5

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20 R7)