| 4D v20.1Copy parameters | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 Copy parameters 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copy parameters {( inicioDesde )} -> Resultado | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| inicioDesde | Inteiro longo |   | Indice inicio (incluido) | |||||
| Resultado | Collection |   | 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:
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 caseOu, 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>
	Produto: 4D
	Tema: Linguagem
	Número 
        1790
        
        
        
	
	Criado por: 4D v19 R5
	
	
	
	
	Manual de linguagem 4D ( 4D v20)
	
	Manual de linguagem 4D ( 4D v20.1)
	
	
 Adicionar um comentário
Adicionar um comentário