Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
Copy parameters

Copy parameters 


 

Copy parameters {( inicioDesde )} -> Resultado 
Parámetro Tipo   Descripción
inicioDesde  Entero largo in Índice de inicio(incluido)
Resultado  Collection in Nueva colección que contiene los parámetros pasados realmente

El comando Copy parameters devuelve una nueva colección que contiene todos los parámetros realmente pasados a un método o una función. Este comando es útil cuando se necesita reenviar un número variado de parámetros de un método o función a otro método o función.

En el parámetro opcional inicioDesde, puede pasar el índice del parámetro desde el que se va a empezar a recoger los parámetros a reenviar. El propio parámetro inicioDesde está incluido.

Cuando se llama dentro de una fórmula, Copy parameters devuelve los parámetros pasados explícitamente utilizando apply() o call() (y no los pasados al método padre o función). 

Copy parameters devuelve una colección vacía si:

  • no se llama en un método o función que haya sido llamado por otro método o función,
  • no se ha pasado ningún parámetro al método padre o función.

Llamando a una función diferente dependiendo del primer parámetro y pasando otros parámetros a esta función:

 

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

O, llamando a otra función en otro objeto con apply() y pasar los parámetros:

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

Como el comando devuelve una colección, se puede utilizar con .join() para crear, por ejemplo, una lista html:

  // Clase
 
 Function list($typeText)->Text
  //tipo de lista es "u" u "o"
 var $value : Collection
 $value:=Copy parameters(2)
 $html:="<"+$type+"l><li>"
 $html+=$value.join("</li><li>")
 $html+="</li></"+$type+"l>"
 return$html
 
  // Método
 
 $htmlList:=$c.list("u";"Alpha";"Bravo";"Charlie")
  // $htmlList = <ul><li>Alpha</li><li>Bravo</li><li>Charlie</li></ul>



Ver también 

Count parameters

 
PROPIEDADES 

Producto: 4D
Tema: Lenguaje
Número 1790

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v19 R5

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)