Saltar al contenido principal
Versión: 20 R10 BETA

Copy parameters

Copy parameters {( inicioDesde )} : Collection

ParámetroTipoDescripción
inicioDesdeIntegerÍndice de inicio(incluido)
ResultadoCollectionNueva colección que contiene los parámetros pasados realmente

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 seguro

AltStyle によって変換されたページ (->オリジナル) /