Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
Copy parameters

Copy parameters 


 

Copy parameters {( inicioDesde )} -> Resultado 
Parâmetro Tipo   Descrição
inicioDesde  Inteiro longo in Indice inicio (incluido)
Resultado  Collection in Nova coleção contendo parâmetros realmente passados

O comando Copy parameters devolve uma nova coleção que contém todos os parâmetros realmente passados a um método ou uma função. Este comando é útil quando se necessita reenviar um número variado de parâmetros de um método ou função a outro método ou função.

No parâmetro opcional inicioDesde, pode passar o índice do parâmetro desde o qual vai começar a recolher os parâmetros a reenviar. O próprio parâmetro inicioDesde está incluido.

Quando chamar dentro de uma fórmula, Copy parameters devolve os parâmetros passados explícitamente utilizando apply() ou call() (e não os passados ao método pai ou função). 

Copy parameters devolve uma coleção vazia se:

  • não chamar em um método ou função que tenha sido chamado por outro método ou função,
  • não for passado nenhum parâmetro ao método pai ou função.

Chamando a uma função diferente dependendo do primeiro parâmetro e passando outros parâmetros a esta função:

 

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

Ou, chamando a outra função em outro objeto com apply() e passar os parâmetros:

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

Como o comando devolve uma coleção, pode ser utilizada com .join() para criar, por exemplo, uma lista html:

  // Classe
 
 Function list($typeText)->Text
  //tipo de lista é "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étodo
 
 $htmlList:=$c.list("u";"Alpha";"Bravo";"Charlie")
  // $htmlList = <ul><li>Alpha</li><li>Bravo</li><li>Charlie</li></ul>



Ver também 

Count parameters

 
PROPRIEDADES 

Produto: 4D
Tema: Linguagem
Número 1790

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v19 R5

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20 R7)