Saltar al contenido principal
Versión: 21 R2 BETA

Copy parameters

Copy parameters ( inicioDesde : Integer ) : Collection

ParámetroTipoDescripción
inicioDesdeIntegerÍndice de inicio(incluido)
ResultadoCollectionNueva colección que contiene los parámetros pasados realmente
Historial
VersiónCambios
19 R5Creado por

Descripción

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.

Ejemplo 1

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)

Ejemplo 2

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>
* "
 $html+=$value.join("
* ")
 $html+="
"
 return$html
 
  // Método
 
 $htmlList:=$c.list("u";"Alpha";"Bravo";"Charlie")
  // $htmlList =
* Alpha
* Bravo
* Charlie

Ver también

Count parameters

Propiedades

Número de comando1790
Hilo seguroyes